[llvm-bugs] [Bug 26058] New: Instruction does not dominate all uses with -O3 on x86_64
https://llvm.org/bugs/show_bug.cgi?id=26058 Bug ID: 26058 Summary: Instruction does not dominate all uses with -O3 on x86_64 Product: new-bugs Version: trunk Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: new bugs Assignee: unassignedb...@nondot.org Reporter: dcb...@hotmail.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified Created attachment 15573 --> https://llvm.org/bugs/attachment.cgi?id=15573&action=edit preprocessed C++ source code The attached preprocessed C++ code compiles fine with -O2, but causes a compiler crash with -O3. Instruction does not dominate all uses! %69 = extractelement <2 x float> %62, i32 1 %63 = insertelement <4 x float> undef, float %69, i32 0 Instruction does not dominate all uses! %69 = extractelement <2 x float> %62, i32 1 %64 = insertelement <4 x float> %63, float %69, i32 1 fatal error: error in backend: Broken function found, compilation aborted! clang: error: clang frontend command failed with exit code 70 (use -v to see invocation) clang version 3.8.0 (trunk 256708) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /home/dcb/llvm/results/bin clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script. clang: note: diagnostic msg: Error generating preprocessed source(s) - no preprocessable inputs. -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 26059] New: [meta] 3.8.0 Release Blockers
https://llvm.org/bugs/show_bug.cgi?id=26059 Bug ID: 26059 Summary: [meta] 3.8.0 Release Blockers Product: new-bugs Version: trunk Hardware: All OS: All Status: NEW Severity: normal Priority: P Component: new bugs Assignee: unassignedb...@nondot.org Reporter: h...@chromium.org CC: llvm-bugs@lists.llvm.org Classification: Unclassified -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 26062] New: Attached self-contained source (from range-v3 example) crashes clang++ front-end
https://llvm.org/bugs/show_bug.cgi?id=26062 Bug ID: 26062 Summary: Attached self-contained source (from range-v3 example) crashes clang++ front-end Product: new-bugs Version: 3.6 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: new bugs Assignee: unassignedb...@nondot.org Reporter: tonyele...@hotmail.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified Created attachment 15576 --> https://llvm.org/bugs/attachment.cgi?id=15576&action=edit self-contained source file that crashes clang++ 3.6.2 The attached self-contained source file crashes Clang 3.6.2 with the following command: clang++ -std=c++11 -c clang_compile_problem.ii Following the instructions on http://llvm.org/docs/HowToSubmitABug.html#crashing-bugs, I find it still crashes if I add the options -O0 -emit-llvm so it appears to be a front-end bug. I have used delta and hand modification to reduce the crashing source (though I can't guarantee that that hasn't changed the cause of the crash). The version of Clang is: Ubuntu clang version 3.6.2-1 (tags/RELEASE_362/final) (based on LLVM 3.6.2) Target: x86_64-pc-linux-gnu Thread model: posix The OS is: Ubuntu 15.10 Linux4.2.0-22-generic #27-Ubuntu SMP Thu Dec 17 22:57:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux For context, the original source file comes from (probably mis)using Eric Niebler's range-v3 library. -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 25822] Bug in alias analysis (GlobalsAA)
https://llvm.org/bugs/show_bug.cgi?id=25822 James Molloy changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #5 from James Molloy --- r257058 contains a partial revert of r248576. The conformance fix part of r248576 has been kept, but the nocapture awareness has been removed. The concepts of capturing and escaping had been conflated, and the code was just not correct. There is a way of doing this optimization without breaking correctness, but I/someone needs to think harder about it first. This should now be fixec. -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 26046] wrong code at -O1 and above on x86_64-linux-gnu
https://llvm.org/bugs/show_bug.cgi?id=26046 James Molloy changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |DUPLICATE --- Comment #2 from James Molloy --- This is a duplicate of PR25822, which as of r257058 should now be fixed. *** This bug has been marked as a duplicate of bug 25822 *** -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 26065] New: llvm-symbolizer: prints incorrect location with -inlining=0
https://llvm.org/bugs/show_bug.cgi?id=26065 Bug ID: 26065 Summary: llvm-symbolizer: prints incorrect location with -inlining=0 Product: compiler-rt Version: unspecified Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: compiler-rt Assignee: unassignedb...@nondot.org Reporter: dvyu...@google.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified Output with -inlining=1: __preempt_count_add ./arch/x86/include/asm/preempt.h:69:0 __rcu_read_lock include/linux/rcupdate.h:301:0 rcu_read_lock include/linux/rcupdate.h:859:0 find_get_entry mm/filemap.c:1035:0 Output with -inlining=0: find_get_entry ./arch/x86/include/asm/preempt.h:69:0 preempt.h:69 defines __preempt_count_add function. Combination of find_get_entry and preempt.h:69 does not make sense. -inlining=0 output should be: find_get_entry mm/filemap.c:1035:0 That is, print matching outermost/physical function name and location. -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 25831] wrong code at -O1 and above on x86_64-linux-gnu (globals-aa?)
https://llvm.org/bugs/show_bug.cgi?id=25831 Sanjay Patel changed: What|Removed |Added Status|NEW |RESOLVED CC||james.mol...@arm.com Resolution|--- |DUPLICATE --- Comment #2 from Sanjay Patel --- This doesn't miscompile after: http://reviews.llvm.org/rL257058 so I'm marking it as a duplicate of bug 25822. cc'ing James in case there's any new information to be found from this test case or the reduction. *** This bug has been marked as a duplicate of bug 25822 *** -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 26066] New: "image list" does not print module address on Linux
https://llvm.org/bugs/show_bug.cgi?id=26066 Bug ID: 26066 Summary: "image list" does not print module address on Linux Product: lldb Version: 3.7 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: All Bugs Assignee: lldb-...@lists.llvm.org Reporter: eugen...@hotmail.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified The "image list" output lacks image load address which would be useful. (lldb) target create "/bin/ls" Current executable set to '/bin/ls' (x86_64). (lldb) b malloc Breakpoint 1: no locations (pending). WARNING: Unable to resolve breakpoint to any actual locations. (lldb) r Process 47969 launched: '/bin/ls' (x86_64) 1 location added to breakpoint 1 1 location added to breakpoint 1 Process 47969 stopped * thread #1: tid = 47969, 0x7766c759 libc.so.6`__GI___libc_malloc(bytes=5) + 9 at malloc.c:2881, name = 'ls', stop reason = breakpoint 1.1 frame #0: 0x7766c759 libc.so.6`__GI___libc_malloc(bytes=5) + 9 at malloc.c:2881 (lldb) image list [ 0] BD39C071-94A7-78CC-C066-FC963CA152BD-FAA3F971/bin/ls [ 1] CC197F7A-4642-CE21-32C9-9AE1F5598A60-1650EF0C /lib/x86_64-linux-gnu/libselinux.so.1 [ 2] 3CF5E1E8-C7CB-082F-1CF3-44BFA4954781-52AC3149 /lib/x86_64-linux-gnu/libacl.so.1 [ 3] 30C94DC6-6A1F-E951-80C3-D68D2B89E576-D5AE213C /lib/x86_64-linux-gnu/libc.so.6 /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.19.so [ 4] F6B728A5-93A7-7751-9A7A-08ABB3BCAC87-4BB743EE /lib/x86_64-linux-gnu/libpcre.so.3 [ 5] C1AE4CB7-195D-337A-77A3-C689051DABAA-3980CA0C /lib/x86_64-linux-gnu/libdl.so.2 /usr/lib/debug/lib/x86_64-linux-gnu/libdl-2.19.so [ 6] 9F00581A-B3C7-3E3A-EA35-995A0C50D24D-59A01D47 /lib64/ld-linux-x86-64.so.2 [ 7] 27396D0C-D0F5-F629-3CC3-D9C70B32E7FE-4D1A8E49 /lib/x86_64-linux-gnu/libattr.so.1 -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 26044] clang crashes at -O1 and above on x86_64-linux-gnu
https://llvm.org/bugs/show_bug.cgi?id=26044 David Majnemer changed: What|Removed |Added Status|NEW |RESOLVED Component|-New Bugs |Interprocedural ||Optimizations Resolution|--- |FIXED Assignee|unassignedclangbugs@nondot. |unassignedb...@nondot.org |org | Product|clang |libraries --- Comment #2 from David Majnemer --- Fixed in r257087. -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 24852] InstCombine crashes when invoked with '-debug' on the attached case
https://llvm.org/bugs/show_bug.cgi?id=24852 Than McIntosh changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #3 from Than McIntosh --- Fixed in r257094. -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 16052] llvm/lib/Transforms/Scalar/SCCP.cpp: Assertion `getLatticeValue() == forcedconstant && "Cannot move from overdefined to constant!"' failed
https://llvm.org/bugs/show_bug.cgi?id=16052 David Majnemer changed: What|Removed |Added Status|NEW |RESOLVED CC||david.majne...@gmail.com Component|new bugs|Interprocedural ||Optimizations Resolution|--- |FIXED Product|new-bugs|libraries --- Comment #1 from David Majnemer --- Fixed in r257102. -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 25992] Cannot call std::string::~string explicitly
https://llvm.org/bugs/show_bug.cgi?id=25992 David Blaikie changed: What|Removed |Added Status|NEW |RESOLVED CC||dblai...@gmail.com Resolution|--- |WORKSFORME --- Comment #2 from David Blaikie --- Works for me: $ cat call.cpp #include #include #include int main() { std::aligned_storage::type storage; std::string* obj = new(&storage) std::string; using namespace std; // Workaround #1:Without this line, clang fails. obj->std::string::~string(); } blaikie@blaikie-linux:/tmp/dbginfo$ ~/dev/llvm/build/clang/debug/nosplit/types/nostandalone/bin/clang++ call.cpp -std=c++11 blaikie@blaikie-linux:/tmp/dbginfo$ ~/dev/llvm/build/clang/debug/nosplit/types/nostandalone/bin/clang++ -v clang version 3.8.0 (trunk 257092) (llvm/trunk 257094) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /usr/local/google/home/blaikie/dev/llvm/build/clang/debug/nosplit/types/nostandalone/bin Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.4 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.1 Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8 Candidate multilib: .;@m64 Candidate multilib: 32;@m32 Candidate multilib: x32;@mx32 Selected multilib: .;@m64 You should file bugs on Apple's distribution against Apple -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 26067] New: Unable to de-abstract std::tuple comparisons
https://llvm.org/bugs/show_bug.cgi?id=26067 Bug ID: 26067 Summary: Unable to de-abstract std::tuple comparisons Product: libraries Version: 3.7 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: Scalar Optimizations Assignee: unassignedb...@nondot.org Reporter: chisophu...@gmail.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified Consider this case, where lexicographical comparison of bit fields is equivalent to a direct integer comparison of the `Data` field: #include #include struct A { uint32_t Data; std::tuple getAsTuple() const { return std::make_tuple((Data & 0x) >> 16, (Data & 0xFF00) >> 8, (Data & 0xFF)); } }; bool cmp_eq(A LHS, A RHS) { return LHS.getAsTuple() == RHS.getAsTuple(); } bool cmp_lt(A LHS, A RHS) { return LHS.getAsTuple() < RHS.getAsTuple(); } This produces the following assembly with clang 3.7: cmp_eq(A, A): # @cmp_eq(A, A) cmpl%edi, %esi sete%al retq cmp_lt(A, A): # @cmp_lt(A, A) movl%esi, %ecx movl%edi, %edx movl%edx, %esi shrl$16, %esi movl%ecx, %edi shrl$16, %edi movb$1, %al cmpl%edi, %esi jb .LBB1_5 cmpl%esi, %edi jae .LBB1_3 xorl%eax, %eax retq .LBB1_3: movzbl %dh, %esi # NOREX movzbl %ch, %edi # NOREX cmpl%edi, %esi jb .LBB1_5 movzbl %dl, %eax movzbl %cl, %ecx cmpl%ecx, %eax sbbb%cl, %cl cmpl%esi, %edi setae %al andb%cl, %al .LBB1_5:# %bool std::operator< (std::tuple const&, std::tuple const&) [clone .exit] retq (cmp_eq is substantially improved from clang 3.6 btw. Play around here: https://goo.gl/RVJeGa ) Clang 3.7 gets cmp_eq "right". But cmp_lt is far from optimal (it should be the same as cmp_eq but choosing a different condition code). This pattern just cropped up for me in the wild on some non-LLVM code that I was working on. Using std::make_tuple/std::tie to synthesize lexicographical comparisons dramatically simplifies code, so I expect this sort of situation with adjacent bit fields to crop up in the wild as a byproduct (I don't know how much it has caught on, but it likely will catch on if it hasn't). In LLVM, we are using std::make_tuple/std::tie for lexicographical comparisons pretty extensively (e.g. r202755). At least in this case one can uglify the code to get the right codegen (just manually compare the `Data` field), but in the bitfield case I don't think there's even a well-defined way to get the right codegen https://goo.gl/sCLraB -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 25992] Cannot call std::string::~string explicitly
https://llvm.org/bugs/show_bug.cgi?id=25992 Richard Smith changed: What|Removed |Added Status|RESOLVED|REOPENED CC||richard-l...@metafoo.co.uk Resolution|WORKSFORME |--- --- Comment #3 from Richard Smith --- This should work without the "using namespace std;", and should *not* work if you use obj->std::string::~basic_string(). (but see wg21.link/cwg399, which seeks to clarify these rules). Per [basic.lookup.qual]p6, "in a qualified-id of the form: nested-name-specifier[opt] class-name :: ~ class-name the second class-name is looked up in the same scope as the first." -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 26002] cc_kext configuration wants InstrProfilingWriter linked in
https://llvm.org/bugs/show_bug.cgi?id=26002 Vedant Kumar changed: What|Removed |Added Status|NEW |RESOLVED CC||v...@apple.com Resolution|--- |FIXED --- Comment #1 from Vedant Kumar --- Should be fixed in r257110. If you're still having a problem with memcpy_chk/memset_chk, please file a bug against me. -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 24429] llc with -mtriple=wasm32-unknown-unknown prints section switches
https://llvm.org/bugs/show_bug.cgi?id=24429 Dan Gohman changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #5 from Dan Gohman --- WebAssembly has been moving towards using MC for more things, and ELF-flavored output, so section switches are no longer a problem for us. -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 26068] New: DFSan crashes on invoke with variadic function
https://llvm.org/bugs/show_bug.cgi?id=26068 Bug ID: 26068 Summary: DFSan crashes on invoke with variadic function Product: libraries Version: trunk Hardware: PC OS: All Status: NEW Severity: normal Priority: P Component: Miscellaneous Instrumentation passes Assignee: unassignedb...@nondot.org Reporter: benny@gmail.com CC: llvm-bugs@lists.llvm.org, pe...@pcc.me.uk Classification: Unclassified $ cat foo.cc void myprintf(...); int main() { try { myprintf(42); } catch (...) { } } $ clang++ -fsanitize=dataflow foo.c clang-3.8: llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp:1417: void (anonymous namespace)::DFSanVisitor::visitCallSite(llvm::CallSite): Assertion `!(cast( CS.getCalledValue()->getType()->getPointerElementType())->isVarArg() && dyn_cast(CS.getInstruction()))' failed. This also happens when building libc++ with dfsan. -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 26069] New: [WinEH] inlining functions can cause assertions when writing obj or asm
https://llvm.org/bugs/show_bug.cgi?id=26069 Bug ID: 26069 Summary: [WinEH] inlining functions can cause assertions when writing obj or asm Product: libraries Version: trunk Hardware: PC OS: Windows NT Status: NEW Severity: normal Priority: P Component: Backend: X86 Assignee: unassignedb...@nondot.org Reporter: r.sagita...@gmx.de CC: llvm-bugs@lists.llvm.org Classification: Unclassified The attached IR builds fine with llc. If you run "opt -O3" on it first, compiling the output with llc to an object or assembly file produces: Assertion failed: !isDeadObjectIndex(ObjectIdx) && "Getting frame offset for a dead object?", file C:\s\d\ldc\llvm\include\llvm/CodeGen/MachineFrameInfo.h, line 444 -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 4068] [Meta] Compiling the Linux kernel with clang
https://llvm.org/bugs/show_bug.cgi?id=4068 Bug 4068 depends on bug 26061, which changed state. Bug 26061 Summary: ARM "J" assembler constraint range for Thumb2 incorrect https://llvm.org/bugs/show_bug.cgi?id=26061 What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 26061] ARM "J" assembler constraint range for Thumb2 incorrect
https://llvm.org/bugs/show_bug.cgi?id=26061 Eric Christopher changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #3 from Eric Christopher --- Fixed thusly: dzur:~/sources/llvm> git svn dcommit Committing to https://llvm.org/svn/llvm-project/llvm/trunk ... Atest/CodeGen/ARM/inlineasm-imm-thumb.ll Atest/CodeGen/ARM/inlineasm-imm-thumb2.ll Mlib/Target/ARM/ARMISelLowering.cpp Committed r257122 though more of them need looking into and testing (and likely fixing). -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 26070] New: clang crashes on code with "__builtin_copysignf" and "__builtin_abort" at -O1 and above on x86_64-linux-gnu
https://llvm.org/bugs/show_bug.cgi?id=26070 Bug ID: 26070 Summary: clang crashes on code with "__builtin_copysignf" and "__builtin_abort" at -O1 and above on x86_64-linux-gnu Product: clang Version: trunk Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: LLVM Codegen Assignee: unassignedclangb...@nondot.org Reporter: helloqi...@gmail.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified The current clang trunk crashes when compiling the following code in both 32-bit and 64-bit modes on x86_64-linux-gnu. $ clang-trunk -O3 abc.c clang: /home/absozero/trunk/llvm/include/llvm/CodeGen/SelectionDAGNodes.h:632: const llvm::SDValue &llvm::SDNode::getOperand(unsigned int) const: Assertion `Num < NumOperands && "Invalid child # of SDNode!"' failed. #0 0x0304dca8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/home/absozero/trunk/root-clang/bin/clang+0x304dca8) #1 0x0304e417 (/home/absozero/trunk/root-clang/bin/clang+0x304e417) #2 0x7ff41d8d7340 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10340) #3 0x7ff41c6bbcc9 gsignal /build/buildd/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0 #4 0x7ff41c6bf0d8 abort /build/buildd/eglibc-2.19/stdlib/abort.c:91:0 #5 0x7ff41c6b4b86 __assert_fail_base /build/buildd/eglibc-2.19/assert/assert.c:92:0 #6 0x7ff41c6b4c32 (/lib/x86_64-linux-gnu/libc.so.6+0x2fc32) #7 0x0243a2cf (/home/absozero/trunk/root-clang/bin/clang+0x243a2cf) #8 0x0240c5bc (/home/absozero/trunk/root-clang/bin/clang+0x240c5bc) #9 0x0240b42d llvm::SelectionDAG::Combine(llvm::CombineLevel, llvm::AAResults&, llvm::CodeGenOpt::Level) (/home/absozero/trunk/root-clang/bin/clang+0x240b42d) #10 0x02537592 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/home/absozero/trunk/root-clang/bin/clang+0x2537592) #11 0x025367a7 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/home/absozero/trunk/root-clang/bin/clang+0x25367a7) #12 0x025337b6 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/home/absozero/trunk/root-clang/bin/clang+0x25337b6) #13 0x02305f21 (/home/absozero/trunk/root-clang/bin/clang+0x2305f21) #14 0x026f7b89 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/home/absozero/trunk/root-clang/bin/clang+0x26f7b89) #15 0x02f93a44 llvm::FPPassManager::runOnFunction(llvm::Function&) (/home/absozero/trunk/root-clang/bin/clang+0x2f93a44) #16 0x02f93c8b llvm::FPPassManager::runOnModule(llvm::Module&) (/home/absozero/trunk/root-clang/bin/clang+0x2f93c8b) #17 0x02f94155 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/home/absozero/trunk/root-clang/bin/clang+0x2f94155) #18 0x00a0bc8d clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::raw_pwrite_stream*, std::unique_ptr >) (/home/absozero/trunk/root-clang/bin/clang+0xa0bc8d) #19 0x009ec5db (/home/absozero/trunk/root-clang/bin/clang+0x9ec5db) #20 0x00ca0926 clang::ParseAST(clang::Sema&, bool, bool) (/home/absozero/trunk/root-clang/bin/clang+0xca0926) #21 0x0077f3f5 clang::FrontendAction::Execute() (/home/absozero/trunk/root-clang/bin/clang+0x77f3f5) #22 0x007472e1 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/absozero/trunk/root-clang/bin/clang+0x7472e1) #23 0x00725dfc clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/absozero/trunk/root-clang/bin/clang+0x725dfc) #24 0x0071bcb8 cc1_main(llvm::ArrayRef, char const*, void*) (/home/absozero/trunk/root-clang/bin/clang+0x71bcb8) #25 0x007244a3 main (/home/absozero/trunk/root-clang/bin/clang+0x7244a3) #26 0x7ff41c6a6ec5 __libc_start_main /build/buildd/eglibc-2.19/csu/libc-start.c:321:0 #27 0x0071b754 _start (/home/absozero/trunk/root-clang/bin/clang+0x71b754) Stack dump: 0.Program arguments: /home/absozero/trunk/root-clang/bin/clang -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name abc.c -mrelocation-model static -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -target-linker-version 2.24 -momit-leaf-frame-pointer -dwarf-column-info -debugger-tuning=gdb -resource-dir /home/absozero/trunk/root-clang/bin/../lib/clang/3.8.0 -internal-isystem /usr/local/include -internal-isystem /home/absozero/trunk/root-clang/bin/../lib/clang/3.8.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O3 -fdebug-compilation-dir /home/absozero/compiler/reduction -ferror-limit 19 -fmessage-length 142 -fobjc-runtim
[llvm-bugs] [Bug 26071] New: wrong code at -Os and above on x86_64-linux-gnu
https://llvm.org/bugs/show_bug.cgi?id=26071 Bug ID: 26071 Summary: wrong code at -Os and above on x86_64-linux-gnu Product: clang Version: trunk Hardware: PC OS: All Status: NEW Severity: normal Priority: P Component: -New Bugs Assignee: unassignedclangb...@nondot.org Reporter: s...@cs.ucdavis.edu CC: llvm-bugs@lists.llvm.org Classification: Unclassified The following code is miscompiled by the current clang trunk on x86_64-linux-gnu at -Os and above in both 32-bit and 64-bit modes. This is a regression from 3.7.x. $ clang-trunk -v clang version 3.8.0 (trunk 257078) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /usr/local/tools/bin Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.3 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.2.1 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.4 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.2.1 Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9 Candidate multilib: .;@m64 Candidate multilib: 32;@m32 Candidate multilib: x32;@mx32 Selected multilib: .;@m64 $ $ clang-trunk -O1 small.c; ./a.out 0 $ clang-3.7.0 -Os small.c; ./a.out 0 $ $ clang-trunk -Os small.c; ./a.out $ int printf (const char *, ...); char a; int b, c; int main () { int d = c = 1; for (; a < 1; a++) { char e; for (;;) { e = ~((c || c) | ~(b && -d)); if (e < c) { printf ("%d\n", b); c = 1; } break; } } return 0; } -- You are receiving this mail because: You are on the CC list for the bug. ___ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs