[llvm-bugs] [Bug 32230] Overestimated align on load
https://bugs.llvm.org/show_bug.cgi?id=32230 David Majnemer changed: What|Removed |Added CC||david.majne...@gmail.com Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #1 from David Majnemer --- This works as intended, the compiler is obligated to use the alignment of uint64_t for the load which, in this case, is eight bytes. If you want to achieve the desired effect, do the following instead: #include #include using namespace std; void test(uint8_t *ptr, long *buf, int const N) { for (int I = 0; I < N - 7; ++I) { uint64_t big; memcpy(&big, ptr + I, sizeof(big)); buf[I] = big * big; } } In the IR, you will now see something along the lines of: %14 = load i64, i64* %13, align 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 32236] New: Clang frontend crashes
https://bugs.llvm.org/show_bug.cgi?id=32236 Bug ID: 32236 Summary: Clang frontend crashes Product: clang Version: 3.8 Hardware: PC OS: Windows NT Status: NEW Severity: normal Priority: P Component: C++ Assignee: unassignedclangb...@nondot.org Reporter: candrian@yahoo.com CC: dgre...@apple.com, llvm-bugs@lists.llvm.org Created attachment 18078 --> https://bugs.llvm.org/attachment.cgi?id=18078&action=edit Crash dump Clang 3.8.275480 (Android NDK R14)crashes with attached source. It runs fine with all previous NDK versions, including 3.8.256229 (Android NDK R13b). -- 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 32237] New: Clang-cl -MJ option not working
https://bugs.llvm.org/show_bug.cgi?id=32237 Bug ID: 32237 Summary: Clang-cl -MJ option not working Product: clang Version: 4.0 Hardware: PC OS: Windows NT Status: NEW Severity: enhancement Priority: P Component: -New Bugs Assignee: unassignedclangb...@nondot.org Reporter: jva...@gmail.com CC: llvm-bugs@lists.llvm.org It seems to be the case that the -MJ option (To create compile database information) ain't working if you use clang-cl. If I use the clang.exe with this option is doesn't add the unknown arguments. -- 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 32238] New: [X86] Assembler does not ensure gather/scatter registers are unique
http://bugs.llvm.org/show_bug.cgi?id=32238 Bug ID: 32238 Summary: [X86] Assembler does not ensure gather/scatter registers are unique Product: libraries Version: trunk Hardware: PC OS: All Status: NEW Severity: enhancement Priority: P Component: Backend: X86 Assignee: unassignedb...@nondot.org Reporter: craig.top...@gmail.com CC: llvm-bugs@lists.llvm.org The gather/scatter instructions require certain registers to be unique. The assembler does not enforce this. For example, this should not assemble vgatherdps %xmm2, (%rdi,%xmm2,2), %xmm2 -- 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 30624] [META][X86] Avoid lowering C intrinsics calls to target-specific LLVM IR intrinsics
http://bugs.llvm.org/show_bug.cgi?id=30624 Bug 30624 depends on bug 30633, which changed state. Bug 30633 Summary: [X86][FMA] Add support for vfmaddsub/vfmsubadd lowering http://bugs.llvm.org/show_bug.cgi?id=30633 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 30633] [X86][FMA] Add support for vfmaddsub/vfmsubadd lowering
http://bugs.llvm.org/show_bug.cgi?id=30633 Craig Topper changed: What|Removed |Added CC||craig.top...@gmail.com Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #1 from Craig Topper --- I think that was implemented in r291473. -- 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 32211] breaks clang-tidy annotation: // NOLINT(check)
https://bugs.llvm.org/show_bug.cgi?id=32211 Gonzalo BG changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|WORKSFORME |--- --- Comment #3 from Gonzalo BG --- Reopening because CommentPragmas cannot be used to solve this problem. -- 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 30624] [META][X86] Avoid lowering C intrinsics calls to target-specific LLVM IR intrinsics
http://bugs.llvm.org/show_bug.cgi?id=30624 Bug 30624 depends on bug 30633, which changed state. Bug 30633 Summary: [X86][FMA] Add support for vfmaddsub/vfmsubadd lowering http://bugs.llvm.org/show_bug.cgi?id=30633 What|Removed |Added Status|RESOLVED|REOPENED 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 30633] [X86][FMA] Add support for vfmaddsub/vfmsubadd lowering
http://bugs.llvm.org/show_bug.cgi?id=30633 Simon Pilgrim changed: What|Removed |Added Resolution|FIXED |--- Status|RESOLVED|REOPENED --- Comment #2 from Simon Pilgrim --- https://godbolt.org/g/OD93B4 addsub seems to be working but subadd doesn't -- 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 32240] New: Use after free in SCEV AA
http://bugs.llvm.org/show_bug.cgi?id=32240 Bug ID: 32240 Summary: Use after free in SCEV AA Product: libraries Version: trunk Hardware: PC OS: All Status: NEW Severity: enhancement Priority: P Component: Global Analyses Assignee: unassignedb...@nondot.org Reporter: k...@alumni.harvard.edu CC: llvm-bugs@lists.llvm.org Consider the following bugpoint reduced test case: ``` ; ModuleID = 'bugpoint-reduced-simplified.bc' source_filename = "bugpoint-output-e3ce3dd.bc" target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" %GalaxySigmaDerivs.2.8.11.14.17.62.68 = type { %SMatrix.0.6.9.12.15.60.66, %SArray.1.7.10.13.16.61.67 } %SMatrix.0.6.9.12.15.60.66 = type { [9 x double] } %SArray.1.7.10.13.16.61.67 = type { [27 x double] } define void @julia_benchmark2_68791(i8**, %GalaxySigmaDerivs.2.8.11.14.17.62.68*) #0 { if22.2.2.2: %2 = getelementptr i8*, i8** %0, i64 7 %3 = bitcast i8** %2 to i8*** %4 = load i8**, i8*** %3, align 8, !tbaa !1 store i8** %4, i8*** undef, align 8, !tbaa !6 %sig_sf_j.sroa.0.0..sroa_idx = getelementptr inbounds %GalaxySigmaDerivs.2.8.11.14.17.62.68, %GalaxySigmaDerivs.2.8.11.14.17.62.68* %1, i64 0, i32 0, i32 0, i64 0 %sig_sf_j.sroa.0.0.copyload = load double, double* %sig_sf_j.sroa.0.0..sroa_idx, align 1 %5 = fmul double undef, %sig_sf_j.sroa.0.0.copyload ret void } attributes #0 = { "no-frame-pointer-elim"="true" "target-cpu"="knl" } !llvm.module.flags = !{!0} !0 = !{i32 1, !"Debug Info Version", i32 3} !1 = !{!2, !2, i64 0} !2 = !{!"jtbaa_mutab", !3, i64 0} !3 = !{!"jtbaa_value", !4, i64 0} !4 = !{!"jtbaa_data", !5, i64 0} !5 = !{!"jtbaa"} !6 = !{!7, !7, i64 0} !7 = !{!"jtbaa_gcframe", !5, i64 0} ``` Running `opt -scev-aa -da -gvn` on this file crashes opt, because gvn tries to access a SCEV instance that got freed in `ScalarEvolutionWrapperPass::releaseMemory`. -- 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 32241] New: Incorrect result with -march=skx -O0 -m32
https://bugs.llvm.org/show_bug.cgi?id=32241 Bug ID: 32241 Summary: Incorrect result with -march=skx -O0 -m32 Product: new-bugs Version: trunk Hardware: PC OS: Linux Status: NEW Severity: enhancement Priority: P Component: new bugs Assignee: unassignedb...@nondot.org Reporter: vsevolod.livins...@frtk.ru CC: llvm-bugs@lists.llvm.org Created attachment 18082 --> https://bugs.llvm.org/attachment.cgi?id=18082&action=edit Reproducer. Clang generates incorrect code with -m32 -O0 -march=skx options (same problem for knl). Everything works fine with -m64 and other optimizations levels. Reproducer: #include int main () { unsigned short aa = 10959; unsigned short bb = 50038; short cc = 19417; bb = ~(aa < (cc || 0)) || 0; std::cout << bb << std::endl; return 0; } >$ clang++ -m32 -w -O0 -march=skx repr.cpp ; sde -skx -- ./a.out 0 >$ clang++ -m32 -w -O0 repr.cpp ; ./a.out 1 LLVM version: clang version 5.0.0 (trunk 297270) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /home/vsevolod/workspace/llvm/bin-trunk/bin Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.4.0 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/6 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/6.0.0 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.4.0 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.0.0 Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.4.0 Candidate multilib: .;@m64 Candidate multilib: 32;@m32 Candidate multilib: x32;@mx32 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 http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 32242] New: Apply r 295614 to 4.0 release branch
http://bugs.llvm.org/show_bug.cgi?id=32242 Bug ID: 32242 Summary: Apply r 295614 to 4.0 release branch Product: clang Version: 4.0 Hardware: All OS: OpenBSD Status: NEW Severity: normal Priority: P Component: Driver Assignee: unassignedclangb...@nondot.org Reporter: b...@comstyle.com CC: llvm-bugs@lists.llvm.org Blocks: 32061 Fixes --eh-frame-hdr handling for static binaries on OpenBSD. Referenced Bugs: http://bugs.llvm.org/show_bug.cgi?id=32061 [Bug 32061] [meta] 4.0.1 Release Blockers -- 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 32243] New: llvm-pdbdump analyze doesn't quite work for clang.pdb
https://bugs.llvm.org/show_bug.cgi?id=32243 Bug ID: 32243 Summary: llvm-pdbdump analyze doesn't quite work for clang.pdb Product: libraries Version: trunk Hardware: PC OS: All Status: NEW Severity: enhancement Priority: P Component: DebugInfo Assignee: unassignedb...@nondot.org Reporter: nicolaswe...@gmx.de CC: llvm-bugs@lists.llvm.org Repro: 1. Download clang.pdb from http://commondatastorage.googleapis.com/chromium-browser-symsrv/index.html?path=clang.pdb/EA4564EA6D47405AB6EE56969E08EE0F1/ (it's a cab archive, uncompress it). It was written by link.exe in a bootstrap build of clang -- i.e. clang wrote the CodeView data that link.exe linked together. 2. Run `llvm-pdbdump analyze clang.pdb` Expected: Works. Actual: "llvm-pdbdump: Native PDB Error: The Type record has an invalid hash value. Type index is 0x24EB6" If I add this debug printf: Index: lib/DebugInfo/PDB/Native/TpiHashing.cpp === --- lib/DebugInfo/PDB/Native/TpiHashing.cpp (revision 297571) +++ lib/DebugInfo/PDB/Native/TpiHashing.cpp (working copy) @@ -32,8 +32,12 @@ Opts & static_cast(ClassOptions::ForwardReference); bool Scoped = Opts & static_cast(ClassOptions::Scoped); bool UniqueName = Opts & static_cast(ClassOptions::HasUniqueName); bool IsAnon = UniqueName && isAnonymous(Rec); +fprintf(stderr, "opts %x %d %s\n", Opts, IsAnon, Rec.getName().str().c_str()); Then the last output before things fail is opts 8 0 `anonymous namespace'::AArch64FastISel::Address:: So that's an anonymous enum, but UniqueName isn't set -- and hence IsAnon is false. With this change, things work fine: Index: lib/DebugInfo/PDB/Native/TpiHashing.cpp === --- lib/DebugInfo/PDB/Native/TpiHashing.cpp (revision 297571) +++ lib/DebugInfo/PDB/Native/TpiHashing.cpp (working copy) @@ -32,7 +32,7 @@ Opts & static_cast(ClassOptions::ForwardReference); bool Scoped = Opts & static_cast(ClassOptions::Scoped); bool UniqueName = Opts & static_cast(ClassOptions::HasUniqueName); - bool IsAnon = UniqueName && isAnonymous(Rec); + bool IsAnon = isAnonymous(Rec); if (!ForwardRef && !Scoped && !IsAnon) return hashStringV1(Rec.getName()); @@ -79,18 +79,24 @@ } However, I'm not sure if this is a bug in pdbdump, or if clang writes bad codeview and the input is in fact bad. (dbghelp.dll seems to load the file fine though, so I suppose even if there's also a clang bug here, llvm-pdbdump should accept it too.) I tried writing a test for this, but I didn't see where to put it -- looks like this code doesn't have a lot of tests 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 http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 32241] Incorrect result with -march=skx -O0 -m32
https://bugs.llvm.org/show_bug.cgi?id=32241 Craig Topper changed: What|Removed |Added Resolution|--- |FIXED 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 http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 32244] New: clang-format formats valid c code into invalid one (incorrectly separating the token "<:" into "<" and ":")
https://bugs.llvm.org/show_bug.cgi?id=32244 Bug ID: 32244 Summary: clang-format formats valid c code into invalid one (incorrectly separating the token "<:" into "<" and ":") Product: clang Version: trunk Hardware: PC OS: Windows NT Status: NEW Severity: enhancement Priority: P Component: Formatter Assignee: unassignedclangb...@nondot.org Reporter: chengnian...@gmail.com CC: djas...@google.com, kli...@google.com, llvm-bugs@lists.llvm.org $ clang-format -version clang-format version 5.0.0 (trunk 296436) $ $ clang-format good.c | tee bad.c main(int argc, char *argv< : :>)<% %> $ clang-trunk -w good.c $ clang-trunk -w bad.c bad.c:1:26: error: expected ')' main(int argc, char *argv< : :>)<% %> ^ bad.c:1:5: note: to match this '(' main(int argc, char *argv< : :>)<% %> ^ bad.c:1:1: error: second parameter of 'main' (argument array) must be of type 'char **' main(int argc, char *argv< : :>)<% %> ^ 2 errors generated. $ $ cat good.c main ( int argc , char * argv <: :> ) <% %> $ -- 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 32245] New: crash at -O2 and -O3 in both 32-bit and 64-bit on x86_64-linux-gnu (DominatorTree is not up to date!)
https://bugs.llvm.org/show_bug.cgi?id=32245 Bug ID: 32245 Summary: crash at -O2 and -O3 in both 32-bit and 64-bit on x86_64-linux-gnu (DominatorTree is not up to date!) Product: clang Version: trunk Hardware: PC OS: Windows NT Status: NEW Severity: enhancement Priority: P Component: -New Bugs Assignee: unassignedclangb...@nondot.org Reporter: chengnian...@gmail.com CC: llvm-bugs@lists.llvm.org $ clang-trunk -v clang version 5.0.0 (trunk 297562) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /usr/local/bin Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.0 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.5 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.2 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 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.0 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 $ $ clang-trunk -w small.c -O3 DominatorTree is not up to date! Computed: = Inorder Dominator Tree: DFSNumbers invalid: 19 slow queries. [1] %entry {0,15} [2] %for.cond.outer.peel.begin {4294967295,4294967295} [3] %for.cond.outer.peel {4294967295,4294967295} [4] %if.then.i.split.peel {4294967295,4294967295} [5] %for.condthread-pre-split.i.peel {4294967295,4294967295} [5] %while.condthread-pre-split.i.peel {4294967295,4294967295} [5] %while.cond.i.peel {4294967295,4294967295} [6] %while.body.i.peel {4294967295,4294967295} [6] %for.cond.outer.peel.next {4294967295,4294967295} [7] %for.cond.outer.peel.next4 {4294967295,4294967295} [8] %entry.peel.newph {4294967295,4294967295} [9] %for.cond.outer {1,14} [10] %if.then.i.split {2,11} [11] %for.condthread-pre-split.i {3,4} [11] %while.condthread-pre-split.i {5,6} [11] %while.cond.i {7,10} [12] %while.body.i {8,9} [10] %for.cond.preheader.loopexit {4294967295,4294967295} [6] %for.cond.preheader {4294967295,4294967295} [7] %for.cond {12,13} Actual: = Inorder Dominator Tree: [1] %entry {0,35} [2] %for.cond.outer.peel.begin {1,34} [3] %for.cond.outer.peel {2,33} [4] %if.then.i.split.peel {3,28} [5] %for.condthread-pre-split.i.peel {4,7} [6] %while.condthread-pre-split.i.peel {5,6} [5] %while.cond.i.peel {8,27} [6] %for.cond.outer.peel.next {9,26} [7] %for.cond.outer.peel.next4 {10,25} [8] %entry.peel.newph {11,24} [9] %for.cond.outer {12,23} [10] %if.then.i.split {13,20} [11] %for.condthread-pre-split.i {14,17} [12] %while.condthread-pre-split.i {15,16} [11] %while.cond.i {18,19} [10] %for.cond.preheader.loopexit {21,22} [4] %for.cond.preheader {29,32} [5] %for.cond {30,31} #0 0x01efdfca llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/usr/local/clang-trunk/bin/clang-5.0+0x1efdfca) #1 0x01efbfde llvm::sys::RunSignalHandlers() (/usr/local/clang-trunk/bin/clang-5.0+0x1efbfde) #2 0x01efc142 SignalHandler(int) (/usr/local/clang-trunk/bin/clang-5.0+0x1efc142) #3 0x7ff743b25330 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10330) #4 0x7ff742916c37 gsignal /build/eglibc-oGUzwX/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0 #5 0x7ff74291a028 abort /build/eglibc-oGUzwX/eglibc-2.19/stdlib/abort.c:91:0 #6 0x01aa68ad llvm::DominatorTree::verifyDomTree() const (/usr/local/clang-trunk/bin/clang-5.0+0x1aa68ad) #7 0x01f6936d llvm::UnrollLoop(llvm::Loop*, unsigned int, unsigned int, bool, bool, bool, bool, bool, unsigned int, unsigned int, llvm::LoopInfo*, llvm::ScalarEvolution*, llvm::DominatorTree*, llvm::AssumptionCache*, llvm::OptimizationRemarkEmitter*, bool) (/usr/local/clang-trunk/bin/clang-5.0+0x1f6936d) #8 0x01dea160 tryToUnrollLoop(llvm::Loop*, llvm::DominatorTree&, llvm::LoopInfo*, llvm::ScalarEvolution*, llvm::TargetTransformInfo const&, llvm::AssumptionCache&, llvm::OptimizationRemarkEmitter&, bool, int