[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

2020-07-03 Thread via llvm-bugs
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

2020-07-03 Thread via llvm-bugs
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.

2020-07-03 Thread via llvm-bugs
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

2020-07-03 Thread via llvm-bugs
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

2020-07-03 Thread via llvm-bugs
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"

2020-07-03 Thread via llvm-bugs
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

2020-07-03 Thread via llvm-bugs
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'

2020-07-03 Thread via llvm-bugs
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

2020-07-03 Thread via llvm-bugs
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

2020-07-03 Thread via llvm-bugs
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

2020-07-03 Thread via llvm-bugs
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`

2020-07-03 Thread via llvm-bugs
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

2020-07-03 Thread via llvm-bugs
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