[llvm-bugs] [Bug 46430] opt -loop-unroll -costmodel-reduxcost crashing with ./include/llvm/Support/Casting.h:269: typename cast_retty::ret_type llvm::cast(Y *) [X = llvm::Instruction, Y = llvm
https://bugs.llvm.org/show_bug.cgi?id=46430 Sam Parker changed: What|Removed |Added Resolution|--- |FIXED Status|NEW |RESOLVED --- Comment #3 from Sam Parker --- Fix committed in https://reviews.llvm.org/rG0724153bbeb5 -- 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 46573] New: GOMP interface: handling of if0 tasks with dependency
https://bugs.llvm.org/show_bug.cgi?id=46573 Bug ID: 46573 Summary: GOMP interface: handling of if0 tasks with dependency Product: OpenMP Version: unspecified Hardware: PC OS: Linux Status: NEW Severity: enhancement Priority: P Component: Runtime Library Assignee: unassignedb...@nondot.org Reporter: pro...@itc.rwth-aachen.de CC: llvm-bugs@lists.llvm.org As I understand the implementation, KMP_API_NAME_GOMP_TASK ignores dependencies for if0 tasks. (see runtime/test/ompt/tasks/taskwait-depend.c) Clang generates a __kmpc_omp_wait_deps call before the __kmpc_omp_task_begin_if0, so I think the GOMP wrapper should do the same or just create the explicit task. The latter will make it easier to support mutexinoutset. -- 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 46574] New: [MemorySSA] Assertion `E >= 2 && "Cannot only remove incoming values in MemoryPhis with at least 2 values."' failed.
https://bugs.llvm.org/show_bug.cgi?id=46574 Bug ID: 46574 Summary: [MemorySSA] Assertion `E >= 2 && "Cannot only remove incoming values in MemoryPhis with at least 2 values."' failed. Product: libraries Version: trunk Hardware: PC OS: Linux Status: NEW Severity: enhancement Priority: P Component: Scalar Optimizations Assignee: unassignedb...@nondot.org Reporter: pauls...@linux.vnet.ibm.com CC: llvm-bugs@lists.llvm.org Created attachment 23674 --> https://bugs.llvm.org/attachment.cgi?id=23674&action=edit reduced testcase opt -mtriple=s390x-linux-gnu -O3 -o out.opt.bc -enable-simple-loop-unswitch -enable-nontrivial-unswitch -enable-unswitch-cost-multiplier=false tc_memphi_deleteincoming.ll MemorySSA.h:592: void llvm::MemoryPhi::unorderedDeleteIncoming(unsigned int): Assertion `E >= 2 && "Cannot only remove incoming values in MemoryPhis with " "at least 2 values."' failed. ... 10 0x02aa21b1fb04 llvm::MemorySSAUpdater::removeEdge -- 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 43295] Pretty print __private address space
https://bugs.llvm.org/show_bug.cgi?id=43295 Anastasia Stulova changed: 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 https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 46575] New: llvm-dwarfdump --statistics can miscalculate scope bytes covered
https://bugs.llvm.org/show_bug.cgi?id=46575 Bug ID: 46575 Summary: llvm-dwarfdump --statistics can miscalculate scope bytes covered Product: new-bugs Version: trunk Hardware: PC OS: Linux Status: NEW Severity: enhancement Priority: P Component: new bugs Assignee: unassignedb...@nondot.org Reporter: orlando.hy...@sony.com CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org Created attachment 23675 --> https://bugs.llvm.org/attachment.cgi?id=23675&action=edit example.ll Tools built with trunk f1c671925b1c60ded3e4e7b3c6b1ec984b2d9b93. For a variable described with a location list, the stat 'sum_all_variables(#bytes in parent scope covered by DW_AT_location)' is calculated by summing all bytes covered by the location ranges in the list and capping the result to the number of bytes in the parent scope. No effort is made to discern whether the bytes covered are 'bytes in parent scope'. clang seems to produce a fair number of location ranges which cover bytes outside of the variables scope like this (see D82129). I've attached an IR file based on the test llvm/test/DebugInfo/COFF/register-variables.ll which can be compiled with llc to demonstrate this happening. All dbg.values have been removed except for variable 'c', so only 'c' has any byte coverage. $ llc example.ll -filetype=obj -o example.o && llvm-dwarfdump example.o ... DW_TAG_lexical_block DW_AT_low_pc (0x0003) DW_AT_high_pc (0x0008) DW_TAG_variable DW_AT_location (0x: [0x0014, 0x001c): DW_OP_reg0 RAX) DW_AT_name ("c") DW_AT_decl_file ("/t.cpp") DW_AT_decl_line (15) DW_AT_type (0x0044 "int") Although the DW_AT_location range [0x0014, 0x001c) covers no bytes in the parent scope [0x0003, 0x0008), llvm-dwarfdump reports 5 bytes are covered: $ llvm-dwarfdump --statistics example.o | python -m json.tool ... "sum_all_local_vars(#bytes in parent scope covered by DW_AT_location)": 5, I'd expect to instead see: "sum_all_local_vars(#bytes in parent scope covered by DW_AT_location)": 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 https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 46576] New: Diagnostic message without line or cloumn number in "'volatile' is not permitted on a declaration of a type"
https://bugs.llvm.org/show_bug.cgi?id=46576 Bug ID: 46576 Summary: Diagnostic message without line or cloumn number in "'volatile' is not permitted on a declaration of a type" Product: clang Version: trunk Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: Frontend Assignee: unassignedclangb...@nondot.org Reporter: haoxi...@gmail.com CC: llvm-bugs@lists.llvm.org, neeil...@live.com, richard-l...@metafoo.co.uk Hi, all. This small case, bug.cc, clang can not emit the line or column number on diagnostic message. $cat bug.cc volatile enum a { }; $clang++ -c bug.cc warning: 'volatile' is not permitted on a declaration of a type [-Wmissing-declarations] 1 warning generated. $clang++ -c -pedantic-errors bug.cc error: 'volatile' is not permitted on a declaration of a type [-Werror,-Wmissing-declarations] 1 error generated. While in GCC $g++ -c bug.cc bug.cc:1:1: error: ‘volatile’ can only be specified for objects and functions 1 | volatile enum a { }; | ^~~~ $clang++ -v clang version 11.0.0 (https://github.com/llvm/llvm-project b9306fd042ce1c11d84f05d2124dfdc65b8331fe) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /home/haoxin/compilers/llvm-project/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/5 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.5.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.5.0 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.5.0 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8 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 46577] New: Operator overload resolution fails in fold expressions
https://bugs.llvm.org/show_bug.cgi?id=46577 Bug ID: 46577 Summary: Operator overload resolution fails in fold expressions Product: clang Version: 10.0 Hardware: PC OS: All Status: NEW Severity: normal Priority: P Component: C++17 Assignee: unassignedclangb...@nondot.org Reporter: micjabb...@gmail.com CC: blitzrak...@gmail.com, erik.pilking...@gmail.com, llvm-bugs@lists.llvm.org, richard-l...@metafoo.co.uk Given the following minimal example (which compiles successfully on GCC and MSVC): struct A {}; namespace detail { // operator+ overload A operator+(A, A) { return A{}; } A f(A a) { return a + a; // this works fine } template A g(As... as) { // this however, fails to find operator+ when g is instantiated with "A"s return (as + ... + A{}); } } int main() { detail::f(A{}); // works detail::g(A{}); // fails! } Clang gives the following error: D:\ws> clang++ -std=c++17 prog.cc prog.cc:11:16: error: call to function 'operator+' that is neither visible in the template definition nor found by argument-dependent lookup return (as + ... + A{}); ^ prog.cc:17:11: note: in instantiation of function template specialization 'detail::g' requested here detail::g(A{}); // fails! ^ prog.cc:5:3: note: 'operator+' should be declared prior to the call site or in the global namespace A operator+(A, A) { return A{}; } ^ 1 error generated. -- 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 46578] New: poll crashes with "-mllvm -polly-vectorizer=stripmine" running pass 'Polly - Optimize schedule of SCoP'
https://bugs.llvm.org/show_bug.cgi?id=46578 Bug ID: 46578 Summary: poll crashes with "-mllvm -polly-vectorizer=stripmine" running pass 'Polly - Optimize schedule of SCoP' Product: Polly Version: unspecified Hardware: PC OS: Linux Status: NEW Severity: enhancement Priority: P Component: Optimizer Assignee: polly-...@googlegroups.com Reporter: ka...@foxmail.com CC: llvm-bugs@lists.llvm.org Created attachment 23676 --> https://bugs.llvm.org/attachment.cgi?id=23676&action=edit associated run script i try to Enable LLVM Polly optimizations in kernel (https://github.com/OPPO9008/android_kernel_xiaomi_rosy p-3.18-caf ) warning: Unknown fusion strategy. Falling back to maximal fusion. Steps to Reproduce 1) add this change --- a/Makefile +++ b/Makefile @@ -623,6 +623,17 @@ KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,) KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior) KBUILD_CFLAGS += $(call cc-option, -no-integrated-as) KBUILD_AFLAGS += $(call cc-option, -no-integrated-as) +#尝试优化 +KBUILD_AFLAGS += -mtune=cortex-a53 -mcpu=cortex-a53 +KBUILD_CFLAGS += $(call cc-option, -mllvm -polly) \ + $(call cc-option, -mllvm -polly-run-dce) \ + $(call cc-option, -mllvm -polly-run-inliner) \ + $(call cc-option, -mllvm -polly-opt-fusion=max) \ + $(call cc-option, -mllvm -polly-ast-use-context) \ + $(call cc-option, -mllvm -polly-detect-keep-going) \ + $(call cc-option, -mllvm -polly-vectorizer=stripmine) \ + $(call cc-option, -mllvm -polly-invariant-load-hoisting) 2) run make O=../out ARCH=arm64 rosy-baunil_defconfig make -j 8 O=../out ARCH=arm64 CC=clang CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=aarch64-linux-gnu- Actual Results : unable to execute command: Aborted Expected Results: Build finished successfully (echo $? 0) Build Date & Hardware : 20200703 Debian 10 -- 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 42997] [X86] test_sext_4i16_to_4i64 in test/Transforms/SLPVectorizer/X86/sext.ll only half vectorized on avx1 target
https://bugs.llvm.org/show_bug.cgi?id=42997 Simon Pilgrim changed: What|Removed |Added Fixed By Commit(s)||168a44a70eb5 Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #7 from Simon Pilgrim --- This was fixed by the extract/insertelement costs improvements in D74976/rG168a44a70eb5 -- 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 46579] New: GOMP interface: missing 5.0 symbols
https://bugs.llvm.org/show_bug.cgi?id=46579 Bug ID: 46579 Summary: GOMP interface: missing 5.0 symbols Product: OpenMP Version: unspecified Hardware: PC OS: Linux Status: NEW Severity: enhancement Priority: P Component: Runtime Library Assignee: unassignedb...@nondot.org Reporter: pro...@itc.rwth-aachen.de CC: llvm-bugs@lists.llvm.org Starting with gcc9, libgomp implements the following GOMP_5.0 symbols, which are not exported by the LLVM/OpenMP rumtime: GOMP_loop_doacross_start GOMP_loop_maybe_nonmonotonic_runtime_next GOMP_loop_maybe_nonmonotonic_runtime_start GOMP_loop_nonmonotonic_runtime_next GOMP_loop_nonmonotonic_runtime_start GOMP_loop_ordered_start GOMP_loop_start GOMP_loop_ull_doacross_start GOMP_loop_ull_maybe_nonmonotonic_runtime_next GOMP_loop_ull_maybe_nonmonotonic_runtime_start GOMP_loop_ull_nonmonotonic_runtime_next GOMP_loop_ull_nonmonotonic_runtime_start GOMP_loop_ull_ordered_start GOMP_loop_ull_start GOMP_parallel_loop_maybe_nonmonotonic_runtime GOMP_parallel_loop_nonmonotonic_runtime GOMP_parallel_reductions GOMP_sections2_start GOMP_taskgroup_reduction_register GOMP_taskgroup_reduction_unregister GOMP_task_reduction_remap GOMP_taskwait_depend GOMP_teams_reg GOMP_workshare_task_reduction_unregister Especially the missing nonmonotonic symbols let linking of codes fail, which successfully linked when compiled with gcc <=8. -- 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 44565] [X86] Failure to use MOVMSK reduction result for branches
https://bugs.llvm.org/show_bug.cgi?id=44565 Sanjay Patel changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Fixed By Commit(s)||bc110de78a4b --- Comment #5 from Sanjay Patel --- The SDAG transform that was creating an extra branch was limited with: https://reviews.llvm.org/rGbc110de78a4b So between that and the previously mentioned IR changes, I think this part of the larger problem is 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 https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 46580] New: No diagnostic on (AltiVec) `vector double _Complex`
https://bugs.llvm.org/show_bug.cgi?id=46580 Bug ID: 46580 Summary: No diagnostic on (AltiVec) `vector double _Complex` Product: clang Version: trunk Hardware: Other OS: All Status: NEW Severity: normal Priority: P Component: Frontend Assignee: unassignedclangb...@nondot.org Reporter: hst...@ca.ibm.com CC: llvm-bugs@lists.llvm.org, neeil...@live.com, richard-l...@metafoo.co.uk The code below indicates that Clang accepts `vector float _Complex` as a synonym for `float _Complex`. I do not believe that is expected. ### SOURCE (): extern vector float _Complex x; float _Complex x; ### COMPILER INVOCATION: clang -cc1 -triple powerpc64le-unknown-linux-gnu -target-feature +altivec -fsyntax-only -Wall -Wextra -xc - ### ACTUAL OUTPUT: (rc=0) ### EXPECTED OUTPUT: (error message) ### COMPILER VERSION INFO (clang -v): clang version 11.0.0 (https://github.com/llvm/llvm-project.git e98030a55f9dd19aed4b763cc1eced54ae7e550e) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /opt/wandbox/clang-head/bin Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.5.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.5.0 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.5.0 Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.5.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 https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs
[llvm-bugs] [Bug 46581] New: peeling stores to after branch
https://bugs.llvm.org/show_bug.cgi?id=46581 Bug ID: 46581 Summary: peeling stores to after branch Product: new-bugs Version: trunk Hardware: PC OS: Linux Status: NEW Severity: enhancement Priority: P Component: new bugs Assignee: unassignedb...@nondot.org Reporter: sland...@gmail.com CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org I am sorry this test case is not reduced, but I am getting assembly that repetedly writes to the same pointer without reading it, because it doesn't want to have to pass a register that it is using to a branch (it would have to alternate registers, and then have a label right before it to rename the other register, as one possible solution). cmp w10, #116 // =116 b.ne.LBB1_952 add x10, x9, #3 // =3 str x10, [x27] <= ldrbw10, [x9, #3] cmp w10, #117 // =117 b.ne.LBB1_952 add x10, x9, #4 // =4 str x10, [x27] <= ldrbw10, [x9, #4] cmp w10, #114 // =114 b.ne.LBB1_952 add x10, x9, #5 // =5 str x10, [x27] <= ldrbw10, [x9, #5] cmp w10, #110 // =110 b.ne.LBB1_952 add x10, x9, #6 // =6 str x10, [x27] <= ldrbw9, [x9, #6] .LBB1_951: // in Loop: Header=BB1_1 Depth=1 ldr x9, [x27] ldrbw10, [x9] https://godbolt.org/z/o3_5FV -- 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