[llvm-bugs] [Bug 52505] New: Add libclang API to set temporary directory location (especially for preamble-*.pch files)

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52505

Bug ID: 52505
   Summary: Add libclang API to set temporary directory location
(especially for preamble-*.pch files)
   Product: clang
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: libclang
  Assignee: unassignedclangb...@nondot.org
  Reporter: igor...@gmail.com
CC: kli...@google.com, llvm-bugs@lists.llvm.org,
richard-l...@metafoo.co.uk

preamble-*.pch files generated by libclang can occupy a lot of disk space. So
it is important for an IDE, which uses libclang, to prevent accumulation of
these files after a crash. This can be done by setting libclang's temporary
directory to a per-session value and removing this directory with all leftover
files after a possible previous crash when the session starts.

It is possible to configure clang's temporary directory location via
platform-dependent environment variables (e.g. TMPDIR, TMP). Setting the
environment variables works well if libclang lives in a separate process (e.g.
in Qt Creator). But when libclang runs in the same process as the rest of the
IDE (like in KDevelop), setting the environment variables is problematic,
because they are inherited by the IDE's code and all child processes it spawns
(compiler, build system and user-provided executables). The IDE must then
remove the temporary directory environment variable from each child process
where it can cause undesirable behavior. A libclang API function to configure
the temporary directory location would greatly simplify cleanup implementation
in this case. Here is the discussion of a rejected implementation of this
feature in KDevelop:
https://invent.kde.org/kdevelop/kdevelop/-/merge_requests/283.

Related bug reports: Bug 52489, Bug 30673.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 52506] New: llvm-nm tests are skipped if x86 is not in available targets

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52506

Bug ID: 52506
   Summary: llvm-nm tests are skipped if x86 is not in available
targets
   Product: tools
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: llvm-nm
  Assignee: unassignedb...@nondot.org
  Reporter: jh7370.2...@my.bristol.ac.uk
CC: llvm-bugs@lists.llvm.org

There is a spuriously-placed lit.local.cfg file at the top-level of the llvm-nm
tests with the config equivalent of `REQUIRES: x86` in it. This means the tests
will only run if x86 is in the supported target set. However, the top-level
tests are not x86 specific, and there are also sub-folders which are e.g. ARM
specific. It looks to me like this config file was just placed in the wrong
place, and that it should be in the X86 subfolder (i.e.
llvm/test/tools/llvm-nm/X86).

When making this fix, we need to ensure there aren't any unexpected X86
dependencies in any of the other tests, by running the cmake, build and test
sequence without the X86 target (perhaps with ARM instead).

I've not got a non-x86 target cmake setup yet, but I'll take a look myself
later today, if I get a chance. Not objecting if someone else has though and
can do it quicker!

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 52507] New: Possible missing libm functions, ICE on reproducible

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52507

Bug ID: 52507
   Summary: Possible missing libm functions, ICE on reproducible
   Product: OpenMP
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Clang Compiler Support
  Assignee: unassignedclangb...@nondot.org
  Reporter: jonathanchesterfi...@gmail.com
CC: llvm-bugs@lists.llvm.org

Test case reported by Wael Elwasif,

#include 
#include 
#include 

int main(int argc, char **argv){
 float a = 1.5;

#pragma omp target map(tofrom: a)
 {
 a = floor(a);
 }
 printf("a = %lf\n", a);
}

Reported failure mode:
clang++ -std=c++17 -lm -O3 -fopenmp -target x86_64-pc-linux-gnu
-fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa
-march=gfx90a  ./test_cmath.cpp
lld: error: undefined symbol: floorf

where changing the call to floorf, or the type to double, links OK.

However, on attempting to reproduce this, I get a segv on trunk:

https://godbolt.org/z/azsvd84fn

#3 0x558c2e2f6ff6 (anonymous
namespace)::AAKernelInfoFunction::changeToSPMDMode(llvm::Attributor&,
llvm::ChangeStatus&) (.constprop.1276) OpenMPOpt.cpp:0:0
 #4 0x558c2e2f7de7 (anonymous
namespace)::AAKernelInfoFunction::manifest(llvm::Attributor&) OpenMPOpt.cpp:0:0
 #5 0x558c2e22181c llvm::Attributor::manifestAttributes()
(/opt/compiler-explorer/clang-trunk-2025/bin/clang-14+0x2c2181c)
 #6 0x558c2e22d61b llvm::Attributor::run()
(/opt/compiler-explorer/clang-trunk-2025/bin/clang-14+0x2c2d61b)
 #7 0x558c2e300ec8 (anonymous namespace)::OpenMPOpt::runAttributor(bool)
(.part.1214) OpenMPOpt.cpp:0:0
 #8 0x558c2e301531 (anonymous namespace)::OpenMPOpt::run(bool)
OpenMPOpt.cpp:0:0
 #9 0x558c2e3044d7 llvm::OpenMPOptPass::run(llvm::Module&,
llvm::AnalysisManager&)
(/opt/compiler-explorer/clang-trunk-2025/bin/clang-14+0x2d044d7)

Bug was reported to me ~3 days ago.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 51715] [AMDGPU][MC][GFX10] Incorrect FLAT GLOBAL fcmpswap data size

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=51715

Dmitry Preobrazhensky  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Fixed By Commit(s)||91f4650
 Status|NEW |RESOLVED

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 52508] New: Templated lambdas crashing the complier

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52508

Bug ID: 52508
   Summary: Templated lambdas crashing the complier
   Product: clang
   Version: 12.0
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: C++17
  Assignee: unassignedclangb...@nondot.org
  Reporter: ogito12...@gmail.com
CC: blitzrak...@gmail.com, erik.pilking...@gmail.com,
llvm-bugs@lists.llvm.org, richard-l...@metafoo.co.uk

Here's some simplified code that exemplifies the problem.

int test(int x, int y)
{
auto test_lambda_impl2 = [&]()
{
if constexpr((f + z) < 3)
{
cout << f+z << endl;
}
};

auto test_lambda_impl1 = [&](int z)
{
switch(z)
{
case 0:
test_lambda_impl2.operator()();
break;
case 1:
test_lambda_impl2.operator()();
break;
case 2:
test_lambda_impl2.operator()();
break;
}
};

switch(x)
{
case 0:
test_lambda_impl1.operator()<0>(y);
break;
case 1:
test_lambda_impl1.operator()<1>(y);
break;
case 2:
test_lambda_impl1.operator()<2>(y);
break;
}
}

This just straight up crashes the compiler, if I remove test_lambda_impl2 and
just do something in test_lambda_impl1 instead, the code compiles but I get an
Invalid instruction exception or a segfault, depending on the code.

Clangd breaks when it has to parse this kind of code as well.

For reference, g++ works as expected.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 52506] llvm-nm tests are skipped if x86 is not in available targets

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52506

James Henderson  changed:

   What|Removed |Added

 Status|CONFIRMED   |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from James Henderson  ---
Fixed in 254aa65d048717ab93c3167364153298249432be.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 52509] New: ThreadSanitizer: data race in std::__1::ios_base::width()

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52509

Bug ID: 52509
   Summary: ThreadSanitizer: data race in
std::__1::ios_base::width()
   Product: libc++
   Version: unspecified
  Hardware: All
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: All Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: mai...@live.de
CC: llvm-bugs@lists.llvm.org, mclow.li...@gmail.com

I can reproduce with all versions of clang.

Steps to reproduce:

$ cat 1.cpp && clang++ -stdlib=libc++ -fsanitize=thread -std=c++20 1.cpp &&
./a.out


#include 
#include 

void Print() { std::cout << ""; }
int main() {
  std::thread a{Print};
  std::thread b{Print};
  a.join();
  b.join();
}


==
WARNING: ThreadSanitizer: data race (pid=4144)
  Read of size 4 at 0x00500d28 by thread T2:
#0 std::__1::basic_ios >::fill() const
 (a.out+0x4c301c)
#1 std::__1::basic_ostream >&
std::__1::__put_character_sequence
>(std::__1::basic_ostream >&, char const*,
unsigned long)  (a.out+0x4c2956)
#2 std::__1::basic_ostream >&
std::__1::operator<<
>(std::__1::basic_ostream >&, char const*)
 (a.out+0x4c256d)
#3 Print()  (a.out+0x4c240f)
#4 decltype(static_cast(fp)()) std::__1::__invoke(void
(*&&)())  (a.out+0x4c46d2)
#5 void
std::__1::__thread_execute >, void
(*)()>(std::__1::tuple >, void (*)()>&,
std::__1::__tuple_indices<>)  (a.out+0x4c4615)
#6 void*
std::__1::__thread_proxy >, void (*)()> >(void*)
 (a.out+0x4c3cd2)

  Previous write of size 4 at 0x00500d28 by thread T1:
#0 std::__1::basic_ios >::fill() const
 (a.out+0x4c306a)
#1 std::__1::basic_ostream >&
std::__1::__put_character_sequence
>(std::__1::basic_ostream >&, char const*,
unsigned long)  (a.out+0x4c2956)
#2 std::__1::basic_ostream >&
std::__1::operator<<
>(std::__1::basic_ostream >&, char const*)
 (a.out+0x4c256d)
#3 Print()  (a.out+0x4c240f)
#4 decltype(static_cast(fp)()) std::__1::__invoke(void
(*&&)())  (a.out+0x4c46d2)
#5 void
std::__1::__thread_execute >, void
(*)()>(std::__1::tuple >, void (*)()>&,
std::__1::__tuple_indices<>)  (a.out+0x4c4615)
#6 void*
std::__1::__thread_proxy >, void (*)()> >(void*)
 (a.out+0x4c3cd2)

  Location is global 'std::__1::cout' of size 160 at 0x00500c90
(a.out+0x00500d28)

  Thread T2 (tid=4147, running) created by main thread at:
#0 pthread_create  (a.out+0x44c6cd)
#1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*),
void*)  (a.out+0x4c3c49)
#2 std::__1::thread::thread(void (&)()) 
(a.out+0x4c26b0)
#3 main  (a.out+0x4c2471)

  Thread T1 (tid=4146, finished) created by main thread at:
#0 pthread_create  (a.out+0x44c6cd)
#1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*),
void*)  (a.out+0x4c3c49)
#2 std::__1::thread::thread(void (&)()) 
(a.out+0x4c26b0)
#3 main  (a.out+0x4c245e)

SUMMARY: ThreadSanitizer: data race (/a.out+0x4c301c) in
std::__1::basic_ios >::fill() const
==
==
WARNING: ThreadSanitizer: data race (pid=4144)
  Read of size 8 at 0x00500cb0 by thread T2:
#0 std::__1::ios_base::width() const  (a.out+0x4c31bd)
#1 std::__1::ostreambuf_iterator >
std::__1::__pad_and_output
>(std::__1::ostreambuf_iterator >, char
const*, char const*, char const*, std::__1::ios_base&, char) 
(a.out+0x4c2c83)
#2 std::__1::basic_ostream >&
std::__1::__put_character_sequence
>(std::__1::basic_ostream >&, char const*,
unsigned long)  (a.out+0x4c298d)
#3 std::__1::basic_ostream >&
std::__1::operator<<
>(std::__1::basic_ostream >&, char const*)
 (a.out+0x4c256d)
#4 Print()  (a.out+0x4c240f)
#5 decltype(static_cast(fp)()) std::__1::__invoke(void
(*&&)())  (a.out+0x4c46d2)
#6 void
std::__1::__thread_execute >, void
(*)()>(std::__1::tuple >, void (*)()>&,
std::__1::__tuple_indices<>)  (a.out+0x4c4615)
#7 void*
std::__1::__thread_proxy >, void (*)()> >(void*)
 (a.out+0x4c3cd2)

  Previous write of size 8 at 0x00500cb0 by thread T1:
#0 std::__1::ios_base::width(long)  (a.out+0x4c33b6)
#1 std::__1::ostreambuf_iterator >
std::__1::__pad_and_output
>(std::__1::ostreambuf_iterator >, char
const*, char const*, char const*, std::__1::ios_base&, char) 
(a.out+0x4c2e65)
#2 std::__1::basic_ostream >&
std::__1::__put_character_sequence
>(std::__1::basic_ostream >&, char const*,
unsigned long)  (a.out+0x4c298d)
#3 std::__1::basic_ostream >&
std::__1::operator<<
>(std::__1::basic_ostream >&, char const*)
 (a.out+0x4c256d)
#4 Print()  (a.out+0x4c240f)
#5 decltype(static_cast(fp)()) std::__1::__invoke(void
(*&&)())  (a.out+0x4c46d2)
#6 void
std::__1::__thread_execute >, void
(*)()>(std::__1::tuple >, void (*)()>&,
std::__1::__tuple_indices<>)  (a.out+0x4c4615)
#7 void*
std::__1::__thread_proxy >, void (*)()> >(void*)
 (a.out+0x4c3cd2)

  Location is global 'std::__1::cout' of

[llvm-bugs] [Bug 52510] New: Load address range overlap reported when ALIGN is used with LMA and VMA regions

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52510

Bug ID: 52510
   Summary: Load address range overlap reported when ALIGN is used
with LMA and VMA regions
   Product: lld
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: ELF
  Assignee: unassignedb...@nondot.org
  Reporter: konstantin.schw...@hightec-rt.com
CC: llvm-bugs@lists.llvm.org, smithp...@googlemail.com

In the example shown below, the following error is reported:

ld.lld: error: section .data3 load address range overlaps with .data
>>> .data3 range is [0x805, 0x80C]
>>> .data range is [0x808, 0x80B]


linkerscript:
```
MEMORY
{
CODE (rx) : ORIGIN = 0x0800, LENGTH = 512K
DATA (rw) : ORIGIN = 0x2400, LENGTH = 95K
}

SECTIONS
{
.text :
{
*(.text)
} > CODE

.data : ALIGN(8)
{
. += 4;
} > DATA AT> CODE

/* This section is needed to get a new program header created for .data3 */
.data2 :
{
. += 8;
} > DATA

.data3 :
{
. += 8;
} > DATA AT> CODE
}
```

source file:
```
.text
.globl _start
_start:
nop
```

Looking at the ELF that we get when using `--no-check-sections`, we find the
following program headers:

```
Program Headers:
  Type   Offset VirtAddr   PhysAddr
 FileSizMemSiz  Flags  Align
  LOAD   0x1000 0x0800 0x0800
 0x0001 0x0001  R E0x1000
  LOAD   0x1400 0x2400 0x0808
 0x0004 0x0004  R E0x1000
  LOAD   0x1404 0x2404 0x2404
 0x0008 0x0008  R E0x1000
  LOAD   0x140c 0x240c 0x0805
 0x0008 0x0008  R E0x1000
```
, indicating that .data3 is not aware of the alignment requirement of .data

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] Issue 41046 in oss-fuzz: llvm:llvm-isel-fuzzer--aarch64-gisel: ASSERT: Val.getType()->isSized() && "Don't know how to create an empty vreg"

2021-11-15 Thread ClusterFuzz-External via monorail via llvm-bugs
Status: New
Owner: 
CC: k...@google.com, masc...@google.com, jdevl...@apple.com, igm...@gmail.com, 
d...@google.com, mit...@google.com, bigch...@gmail.com, eney...@google.com, 
llvm-...@lists.llvm.org, j...@chromium.org, v...@apple.com, 
mitch...@outlook.com, xpl...@gmail.com, akils...@apple.com 
Labels: ClusterFuzz Reproducible Stability-Memory-MemorySanitizer 
Engine-libfuzzer OS-Linux Proj-llvm Reported-2021-11-15
Type: Bug

New issue 41046 by ClusterFuzz-External: llvm:llvm-isel-fuzzer--aarch64-gisel: 
ASSERT: Val.getType()->isSized() && "Don't know how to create an empty vreg"
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41046

Detailed Report: https://oss-fuzz.com/testcase?key=6750277756125184

Project: llvm
Fuzzing Engine: libFuzzer
Fuzz Target: llvm-isel-fuzzer--aarch64-gisel
Job Type: libfuzzer_msan_llvm
Platform Id: linux

Crash Type: ASSERT
Crash Address: 
Crash State:
  Val.getType()->isSized() && "Don't know how to create an empty vreg"
  llvm::IRTranslator::getOrCreateVRegs
  llvm::IRTranslator::translateCallBase
  
Sanitizer: memory (MSAN)

Regressed: 
https://oss-fuzz.com/revisions?job=libfuzzer_msan_llvm&range=201906300300:201910150335

Reproducer Testcase: https://oss-fuzz.com/download?testcase_id=6750277756125184

Issue filed automatically.

See https://google.github.io/oss-fuzz/advanced-topics/reproducing for 
instructions to reproduce this bug locally.
When you fix this bug, please
  * mention the fix revision(s).
  * state whether the bug was a short-lived regression or an old bug in any 
stable releases.
  * add any other useful information.
This information can help downstream consumers.

If you need to contact the OSS-Fuzz team with a question, concern, or any other 
feedback, please file an issue at https://github.com/google/oss-fuzz/issues. 
Comments on individual Monorail issues are not monitored.

-- 
You received this message because:
  1. You were specifically CC'd on the issue

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings

Reply to this email to add a comment.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 52511] New: [amdgpu] const globals incorrectly marked addrspace(4)

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52511

Bug ID: 52511
   Summary: [amdgpu] const globals incorrectly marked addrspace(4)
   Product: OpenMP
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Clang Compiler Support
  Assignee: unassignedclangb...@nondot.org
  Reporter: jonathanchesterfi...@gmail.com
CC: llvm-bugs@lists.llvm.org

Given

#include 
#include 
#include 

#pragma omp declare target

static const double smallx = 1.0e-5;

static const double log_smallx = log(smallx);

#pragma omp end declare target


clang++ -O2 -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa   math_exp.cpp -o
math_exp  -lm -save-temps

unhandled address space
UNREACHABLE executed at
/home/amd/llvm-project/llvm/lib/Target/AMDGPU/SIISelLowering.cpp:8869!
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace.

IR emitted from clang with -disable-llvm-passes contains a global constructor
to do the log call,

define internal void @__omp_offloading__10303_4068b_log_smallx_l9_ctor() #4 {
entry:
  %call = call double @"_ZL28log$ompvariant$S2$s7$Pamdgcnd"(double
1.00e-05) #17
  store double %call, double addrspace(4)* @_ZL10log_smallx, align 8, !tbaa !9
  ret void
}

The backend (probably rightly) chokes on that, addrspace(4) is constant in the
sense that the value has to be set before kernel execution begins. 

The optimal codegen, I think, would look like a global ctor that writes to that
value as an addrspace(1) value, then the other kernels load it as an
addrspace(4) value. Thus we can use scalar loads on it, after the global ctor
ran to initialise it.

A less clever way to fix this ICE is to find the point in clang that tags the
const variable as addrspace(4) and back it off to only do so when the
initialiser is already available as a constant.

I think this is an artefact of how constexpr is handled by target regions - I
suspect log is marked constexpr in a glibc header, but it isn't actually
constexpr in the hip math headers - but have not confirmed that theory.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 52504] Assertion `(!From->hasAnyUseOfValue(i) || From->getValueType(i) == To->getValueType(i)) && "Cannot use this version of ReplaceAllUsesWith!"

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52504

Sanjay Patel  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Fixed By Commit(s)||5be64d416481 6efe64cf9f11
   ||3d01507c2dec
 Resolution|--- |FIXED

--- Comment #5 from Sanjay Patel  ---
The original commit was reverted:
https://reviews.llvm.org/rG5be64d416481

I added a minimized crasher test based on the example here and a fixed version
of the patch with:
https://reviews.llvm.org/rG6efe64cf9f11
https://reviews.llvm.org/rG3d01507c2dec

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 51794] [LoopVectorizer] Suspected wrong code at -Os

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=51794

Florian Hahn  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Fixed By Commit(s)||112c1c346a61
 Status|NEW |RESOLVED

--- Comment #6 from Florian Hahn  ---
Should be fixed by https://reviews.llvm.org/rG112c1c346a61

It would be great if you could verify the fix and re-open the bug if it still
reproduces.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 52485] wrong code at -Os on x86_64-linux-gnu

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52485

Florian Hahn  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Fixed By Commit(s)||112c1c346a61
 Resolution|--- |FIXED

--- Comment #5 from Florian Hahn  ---
Should be fixed by https://reviews.llvm.org/rG112c1c346a61

It would be great if you could verify the fix and re-open the bug if it still
reproduces.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 52512] New: llvm-c++filt unable to demangle void f()

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52512

Bug ID: 52512
   Summary: llvm-c++filt unable to demangle void
f()
   Product: tools
   Version: trunk
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: llvm-c++filt
  Assignee: unassignedb...@nondot.org
  Reporter: gbrey...@gmail.com
CC: llvm-bugs@lists.llvm.org

When attempting to demangle "_Z1fIDnLDn0EEvv" llvm-cxxfilt does not demangle
the input. According to GCC we should see similar to "void f()"

This was found by compiling the following:

template void f() {}
typedef decltype(nullptr) nullptr_t;
template <> void f() {}

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 41039] instcombine incorrectly removes "dead" malloc/operator delete pair

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=41039

Yuanfang Chen  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #3 from Yuanfang Chen  ---


*** This bug has been marked as a duplicate of bug 49022 ***

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 52390] clang -O2 BPF netd.o failed to boot on some Android devices

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52390

Chih-Hung Hsieh  changed:

   What|Removed |Added

 Resolution|--- |WONTFIX
 Status|NEW |RESOLVED

--- Comment #13 from Chih-Hung Hsieh  ---
Yonghong,

Thanks for looking into the llvm code.

The root failure was found to be in older Android BPF verifier,
which does not track value ranges of variables on the stack.
New llvm output code now returns one variable in netd.c
directly from stack. The BPF verifier cannot be certain
that the return value is always 0 or 1, and aborted the
normal boot process.

Since we need to load new netd.o to existing Adroid devices,
so the solution now is to modify netd.c and make sure
that the return value is always 0 or 1.
There is no need to change clang/llvm for now.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 52515] New: Loop Vectorizer triggers an assert "IsOrdered requires IsInLoop"

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52515

Bug ID: 52515
   Summary: Loop Vectorizer triggers an assert "IsOrdered requires
IsInLoop"
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Loop Optimizer
  Assignee: unassignedb...@nondot.org
  Reporter: serguei.kat...@azul.com
CC: llvm-bugs@lists.llvm.org

For the following reduced test case
===
; ModuleID = 'bad.ll'
source_filename = "bad.ll"
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-none-linux-gnu"

define float @wombat() {
bb:
  br label %bb1

bb1:  ; preds = %bb9, %bb
  %tmp = phi i64 [ 0, %bb ], [ %tmp10, %bb9 ]
  %tmp2 = phi float [ 0.00e+00, %bb ], [ %tmp4, %bb9 ]
  %tmp3 = phi i64 [ 0, %bb ], [ %tmp5, %bb9 ]
  %tmp4 = fadd float %tmp2, 1.00e+00
  %tmp5 = add nsw i64 %tmp3, 1
  %tmp6 = icmp ult i64 %tmp, 65536
  br i1 %tmp6, label %bb9, label %bb7

bb7:  ; preds = %bb1
  %tmp8 = phi float [ %tmp4, %bb1 ]
  ret float %tmp8

bb9:  ; preds = %bb1
  %tmp10 = add nuw nsw i64 %tmp, 1
  br i1 false, label %bb11, label %bb1

bb11: ; preds = %bb9
  %tmp12 = phi float [ %tmp4, %bb9 ]
  ret float %tmp12
}

!0 = !{!"function_entry_count", i64 32768}
===
the following assert is triggered.

===
> opt  -passes=loop-vectorize -S bad.ll
opt:
/localhome/skatkov/work/llvm/src/llvm/lib/Transforms/Vectorize/VPlan.h:1186:
llvm::VPReductionPHIRecipe::VPReductionPHIRecipe(llvm::PHINode*,
llvm::RecurrenceDescriptor&, llvm::VPValue&, bool, bool): Assertion
`(!IsOrdered || IsInLoop) && "IsOrdered requires IsInLoop"' failed.
===
The current processing phi node is

%tmp2 = phi float [ 0.00e+00, %bb ], [ %tmp4, %bb9 ]

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 50312] llvm-objdump crash when disassemble a webassembly file which incudling bytecode "unreachable"

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=50312

Wouter van Oortmerssen  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 52516] New: [M68k] Code selection failed with string length greater than or equal to 4

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52516

Bug ID: 52516
   Summary: [M68k] Code selection failed with string length
greater than or equal to 4
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: M68k
  Assignee: unassignedb...@nondot.org
  Reporter: t104360...@ntut.org.tw
CC: glaub...@physik.fu-berlin.de,
llvm-bugs@lists.llvm.org, miny...@uci.edu

Created attachment 25450
  --> https://bugs.llvm.org/attachment.cgi?id=25450&action=edit
Preprocessed source

This is the code that triggered this error:

void test(char *s)
{
}

int main()
{
  char s[] = "123";
  test(s);
  return 0;
}

This is the error message:
$ clang -ccc-gcc-name linux-gnu-gcc --target=m68k tmp.c -o tmp
fatal error: error in backend: Cannot select: t47: i32,ch =
load<(dereferenceable load (s8) from `i8* getelementptr inbounds ([4 x i8], [4
x i8]* @__const.main.s, i32 0, i32 0)` + 1), zext from i8> t4, t46, undef:i32
  t46: i32 = add nuw t34, Constant:i32<1>
t34: i32 = M68kISD::WrapperPC TargetGlobalAddress:i32<[4 x i8]*
@__const.main.s> 0
  t33: i32 = TargetGlobalAddress<[4 x i8]* @__const.main.s> 0
t36: i32 = Constant<1>
  t3: i32 = undef
In function: main
clang-14: error: clang frontend command failed with exit code 70 (use -v to see
invocation)
clang version 14.0.0 (https://github.com/llvm/llvm-project.git
7f7cab6bb1d48b53e1fa9ab5a4fd7bcf7f00f19b)
Target: m68k
Thread model: posix
InstalledDir: /home/sheng/project/compiler/llvm_m68k/build/bin
clang-14: note: diagnostic msg:

---

Here's my environment:

$ clang-v
clang version 14.0.0 (https://github.com/llvm/llvm-project.git
7f7cab6bb1d48b53e1fa9ab5a4fd7bcf7f00f19b)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/sheng/project/compiler/llvm_m68k/build/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Candidate multilib: .;@m64
Selected multilib: .;@m64

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 50568] [Format] star/amp is incorrectly recognized as PointerOrReference when overloaded operator is called as a member function

2021-11-15 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=50568

Yilong Guo  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
 Fixed By Commit(s)||rG873308fd8c96a54f002425142
   ||5daac1b78f70119

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs