[llvm-bugs] [Bug 52147] [meta] 13.0.1 Release Blockers

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52147
Bug 52147 depends on bug 51691, which changed state.

Bug 51691 Summary: [mips] After a26f1bf67ec, Bad machine code: Using an 
undefined physical register
https://bugs.llvm.org/show_bug.cgi?id=51691

   What|Removed |Added

 Status|REOPENED|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 51691] [mips] After a26f1bf67ec, Bad machine code: Using an undefined physical register

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=51691

Tom Stellard  changed:

   What|Removed |Added

 Fixed By Commit(s)|f5755c0849a56543ef693835278 |f5755c0849a56543ef693835278
   |4fdd7b4596e4c   |4fdd7b4596e4c 47f53eec6485
 Resolution|--- |FIXED
 Status|REOPENED|RESOLVED

--- Comment #10 from Tom Stellard  ---
Merged: 47f53eec6485

-- 
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 51236] [meta] 13.0.0 Release Blockers

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=51236
Bug 51236 depends on bug 51691, which changed state.

Bug 51691 Summary: [mips] After a26f1bf67ec, Bad machine code: Using an 
undefined physical register
https://bugs.llvm.org/show_bug.cgi?id=51691

   What|Removed |Added

 Status|REOPENED|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 52212] Merge 89f0587154bd66ca78963f5c5a07982e5e0b1ff0 into 13.0.1

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52212

Tom Stellard  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Fixed By Commit(s)|89f0587154bd66ca78963f5c5a0 |89f0587154bd66ca78963f5c5a0
   |7982e5e0b1ff0   |7982e5e0b1ff0 914355ee793c
 Resolution|--- |FIXED

--- Comment #1 from Tom Stellard  ---
Merged: 914355ee793c

-- 
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 52147] [meta] 13.0.1 Release Blockers

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52147
Bug 52147 depends on bug 52212, which changed state.

Bug 52212 Summary: Merge 89f0587154bd66ca78963f5c5a07982e5e0b1ff0 into 13.0.1
https://bugs.llvm.org/show_bug.cgi?id=52212

   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 47869] __clang_cuda_runtime_wrapper.h __THROW macro redefinition inconsistent with libc

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=47869

Tom Stellard  changed:

   What|Removed |Added

 Status|CONFIRMED   |RESOLVED
 Fixed By Commit(s)|29e00b29f76adb15a51c1ccd6c1 |29e00b29f76adb15a51c1ccd6c1
   |fdb6fce5f4d7b   |fdb6fce5f4d7b 73daeb3d507f
 Resolution|--- |FIXED

--- Comment #10 from Tom Stellard  ---
Merged: 73daeb3d507f

-- 
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 52147] [meta] 13.0.1 Release Blockers

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52147
Bug 52147 depends on bug 47869, which changed state.

Bug 47869 Summary: __clang_cuda_runtime_wrapper.h __THROW macro redefinition 
inconsistent with libc
https://bugs.llvm.org/show_bug.cgi?id=47869

   What|Removed |Added

 Status|CONFIRMED   |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 52211] Merge a5de04d2617191661fbaaee741ec47f8c1f9478e into 13.0.1

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52211

Tom Stellard  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Fixed By Commit(s)|a5de04d2617191661fbaaee741e |a5de04d2617191661fbaaee741e
   |c47f8c1f9478e   |c47f8c1f9478e 3ee9a2b63cfd
 Status|NEW |RESOLVED

--- Comment #1 from Tom Stellard  ---
Merged: 3ee9a2b63cfd

-- 
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 52147] [meta] 13.0.1 Release Blockers

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52147
Bug 52147 depends on bug 52211, which changed state.

Bug 52211 Summary: Merge a5de04d2617191661fbaaee741ec47f8c1f9478e into 13.0.1
https://bugs.llvm.org/show_bug.cgi?id=52211

   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 52260] New: Dead Code Elimination Regression at -O3 (trunk vs 13.0.0)

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52260

Bug ID: 52260
   Summary: Dead Code Elimination Regression at -O3 (trunk vs
13.0.0)
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: theod...@inf.ethz.ch
CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org

cat test.c   
void foo(void);

static int a;
static int *b = &a;
static int **c = &b;
static char e;

static unsigned d() {
if (c)
  return a;
else
  return 1;
}

int main() {
  int f = d();
  unsigned char g = f;
  e = g >> 4;
  if (e) {
for (;;) {
  if (f)
break;
  c = 0;
  foo();
}
for (;;)
  ;
  }
}


13.0.0 at -O3 can eliminate the call to foo but trunk cannot:


clang-13 -O3 -S -o /dev/stdout test.c
...
main:   # @main
.cfi_startproc
# %bb.0:
testb   $-16, a(%rip)
je  .LBB0_2
.p2align4, 0x90
.LBB0_1:# =>This Inner Loop Header: Depth=1
jmp .LBB0_1
.LBB0_2:
xorl%eax, %eax
retq



clang-trunk -O3 -S -o /dev/stdout test.c
main:   # @main
.cfi_startproc
# %bb.0:
pushq   %rax
.cfi_def_cfa_offset 16
cmpq$0, c(%rip)
movl$1, %eax
je  .LBB0_2
# %bb.1:
movla(%rip), %eax
.LBB0_2:
cmpb$16, %al
jae .LBB0_3
# %bb.6:
xorl%eax, %eax
popq%rcx
.cfi_def_cfa_offset 8
retq
.LBB0_3:
.cfi_def_cfa_offset 16
testl   %eax, %eax
je  .LBB0_4
.p2align4, 0x90
.LBB0_5:# =>This Inner Loop Header: Depth=1
jmp .LBB0_5
.p2align4, 0x90
.LBB0_4:# =>This Inner Loop Header: Depth=1
movq$0, c(%rip)
callq   foo
jmp .LBB0_4


clang-trunk -v
clang version 14.0.0 (https://github.com/llvm/llvm-project.git
eda2ebd7807376829eb880c39623f364b438971f)
Target: x86_64-unknown-linux-gnu
Thread model: posix

https://github.com/llvm/llvm-project/commit/f32c0fe8e50534f4210d878b9a1420793860c567
introduced this regression

-- 
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 52261] New: Dead Code Elimination Regression at -O3 (trunk vs 13.0.0)

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52261

Bug ID: 52261
   Summary: Dead Code Elimination Regression at -O3 (trunk vs
13.0.0)
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: theod...@inf.ethz.ch
CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org

cat test.c
void foo(void);
void bar(void);

static char b = 2;
static int d = -2, e;

static int a(int f, int g) { return (g & -g) < 0 ? f : f - g; }

int main() {
  d = 0;
  d = b;
  bar();
  e = a(0, 0);
  if (a(-2, d) > 1)
foo();
}


13.0.0 at -O3 can eliminate the call to foo but trunk cannot:

clang-13 -O3 -S -o /dev/stdout test.c
...
main:   # @main
.cfi_startproc
# %bb.0:
pushq   %rax
.cfi_def_cfa_offset 16
movb$1, d(%rip)
callq   bar
xorl%eax, %eax
popq%rcx
.cfi_def_cfa_offset 8
retq


clang-trunk -O3 -S -o /dev/stdout case13_clean.c
...
main:   # @main
.cfi_startproc
# %bb.0:
pushq   %rax
.cfi_def_cfa_offset 16
movb$1, d(%rip)
callq   bar
movzbl  d(%rip), %eax
leal-2(,%rax,4), %ecx
movl%eax, %edx
shll$2, %edx
movl$2, %esi
subl%edx, %esi
testl   %esi, %ecx
js  .LBB0_3
# %bb.1:
leal-1(,%rax,4), %eax
cmpl$-3, %eax
jg  .LBB0_3
# %bb.2:
callq   foo
.LBB0_3:
xorl%eax, %eax
popq%rcx
.cfi_def_cfa_offset 8
retq

clang-trunk -v
clang version 14.0.0 (https://github.com/llvm/llvm-project.git
eda2ebd7807376829eb880c39623f364b438971f)
Target: x86_64-unknown-linux-gnu
Thread model: posix


https://github.com/llvm/llvm-project/commit/da210f5d3425e8877ceabaf6ed3483d52cbd7448
introduced this regression

-- 
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 52262] New: Local typedef information is missing in case of template clas

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52262

Bug ID: 52262
   Summary: Local typedef information is missing in case of
template clas
   Product: libraries
   Version: 12.0
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: DebugInfo
  Assignee: unassignedb...@nondot.org
  Reporter: christina.schi...@intel.com
CC: jdevliegh...@apple.com, keith.wal...@arm.com,
llvm-bugs@lists.llvm.org,
paul_robin...@playstation.sony.com

If a typedef is defined inside a class, the tag DW_TAG_typedef is listed as a
child entry of that class (tag DW_TAG_class_type). 
For clang the child entry relationship is lost, if the class has a template
parameter.

Steps to reproduce:
Compiling a program such as 

template
class Cfoo
{
  typedef float myfloat;
public:
  DataT me0;
  const DataT me1=1;
  const myfloat me2=2.0;
};

int main()
{
   Cfoo cfoo;
   return 0;
}

yields the following DWARF output for the DW_TAG_typedef tag of "myfloat":

0x0052:   DW_TAG_class_type
DW_AT_calling_convention(DW_CC_pass_by_value)
DW_AT_name  ("Cfoo")
DW_AT_byte_size (0x0c)
DW_AT_decl_file ("/tmp/no_localtypdefinfo.cc")
DW_AT_decl_line (2)

0x005b: DW_TAG_template_type_parameter
  DW_AT_type(0x0098 "int")
  DW_AT_name("DataT")

0x0064: DW_TAG_member
  DW_AT_name("me0")
  DW_AT_type(0x0098 "int")
  DW_AT_decl_file   ("/tmp/no_localtypdefinfo.cc")
  DW_AT_decl_line   (6)
  DW_AT_data_member_location(0x00)
  DW_AT_accessibility   (DW_ACCESS_public)

0x0071: DW_TAG_member
  DW_AT_name("me1")
  DW_AT_type(0x009f "const int")
  DW_AT_decl_file   ("/tmp/no_localtypdefinfo.cc")
  DW_AT_decl_line   (7)
  DW_AT_data_member_location(0x04)
  DW_AT_accessibility   (DW_ACCESS_public)

0x007e: DW_TAG_member
  DW_AT_name("me2")
  DW_AT_type(0x00a4 "const myfloat")
  DW_AT_decl_file   ("/tmp/no_localtypdefinfo.cc")
  DW_AT_decl_line   (8)
  DW_AT_data_member_location(0x08)
  DW_AT_accessibility   (DW_ACCESS_public)

...

0x0096:   NULL

0x0097: NULL

...

0x00a4:   DW_TAG_const_type
DW_AT_type  (0x00a9 "myfloat")

0x00a9:   DW_TAG_typedef
DW_AT_type  (0x00b4 "float")
DW_AT_name  ("myfloat")
DW_AT_decl_file ("/tmp/no_localtypdefinfo.cc")
DW_AT_decl_line (4)

The tag DW_TAG_typdef is NOT a child entry of the tag DW_TAG_class_type.

Compiling a class without template parameter such as:

class Cfoo
{
  typedef float myfloat;
public:
  const myfloat me2=2.0;
};


int main()
{
   Cfoo cfoo;
   return 0;
}

yields the following DWARF output for the DW_TAG_typedef tag of "myfloat":

0x0052:   DW_TAG_class_type
DW_AT_calling_convention(DW_CC_pass_by_value)
DW_AT_name  ("Cfoo")
DW_AT_byte_size (0x04)
DW_AT_decl_file ("/tmp/existing_localtypdefinfo.cc")
DW_AT_decl_line (1)

0x005b: DW_TAG_member
  DW_AT_name("me2")
  DW_AT_type(0x0080 "const myfloat")
  DW_AT_decl_file   ("/tmp/existing_localtypdefinfo.cc")
  DW_AT_decl_line   (5)
  DW_AT_data_member_location(0x00)
  DW_AT_accessibility   (DW_ACCESS_public)

0x0068: DW_TAG_typedef
  DW_AT_type(0x0085 "float")
  DW_AT_name("myfloat")
  DW_AT_decl_file   ("/tmp/existing_localtypdefinfo.cc")
  DW_AT_decl_line   (3)

The tag DW_TAG_typedef is now a child entry of the tag DW_TAG_class_type.

Command lines to build and run the case:
clang++ -g -O0 no_localtypdefinfo.cc -o no_localtypdefinfo

-- 
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 39541] Clang doesn't support Flag Output Operands in inline asm

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=39541

Dan M  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #1 from Dan M  ---
Looks like it's supported since Clang 9.

-- 
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 52263] New: cli-wrapper-mpxtable.cpp - suspicious always true comparison

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52263

Bug ID: 52263
   Summary: cli-wrapper-mpxtable.cpp - suspicious always true
comparison
   Product: lldb
   Version: unspecified
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: enhancement
  Priority: P
 Component: All Bugs
  Assignee: lldb-...@lists.llvm.org
  Reporter: llvm-...@redking.me.uk
CC: jdevliegh...@apple.com, llvm-bugs@lists.llvm.org

static void PrintBTEntry(lldb::addr_t lbound, lldb::addr_t ubound,
 uint64_t value, uint64_t meta,
 lldb::SBCommandReturnObject &result) {
  const lldb::addr_t one_cmpl64 = ~((lldb::addr_t)0);
  const lldb::addr_t one_cmpl32 = ~((uint32_t)0);

  if ((lbound == one_cmpl64 || one_cmpl32) && ubound == 0) {
result.Printf("Null bounds on map: pointer value = 0x%" PRIu64 "\n",
value);
  } else {
result.Printf("lbound = 0x%" PRIu64 ",", lbound);
result.Printf(" ubound = 0x%" PRIu64 , ubound);
result.Printf(" (pointer value = 0x%" PRIu64 ",", value);
result.Printf(" metadata = 0x%" PRIu64 ")\n", meta);
  }
}

Coverity is warning: 

  if ((lbound == one_cmpl64 || one_cmpl32) && ubound == 0) {

CID undefined (#1 of 1): Logical vs. bitwise operator
(CONSTANT_EXPRESSION_RESULT)logical_vs_bitwise: The expression lbound ==
18446744073709551615UL /* one_cmpl64 */ || true /* one_cmpl32 */ is suspicious
because it performs a Boolean operation on a constant other than 0 or 1.

Should this be:

  if ((lbound == one_cmpl64 || lbound == one_cmpl32) && ubound == 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 27920] ToolChains.cpp: suspicious "const string" variables

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=27920

Simon Pilgrim  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED
 Fixed By Commit(s)||adcd02683856c30ba6f34927950
   ||9acecd90063df
 CC||llvm-...@redking.me.uk

--- Comment #1 from Simon Pilgrim  ---
This was fixed when we made llvm::StringRef to std::string conversions
explicit.

-- 
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 52264] New: Consider increasing the size of the static symbolization buffer in sanitizer_common

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52264

Bug ID: 52264
   Summary: Consider increasing the size of the static
symbolization buffer in sanitizer_common
   Product: compiler-rt
   Version: unspecified
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: compiler-rt
  Assignee: unassignedb...@nondot.org
  Reporter: andrew.c.mor...@gmail.com
CC: llvm-bugs@lists.llvm.org

It appears that there are some 16K static buffers for the symbolizer:

-
https://github.com/llvm/llvm-project/blob/12b44bf5ee3eee46062b5f8f208be20edd0b3e06/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_internal.h#L122

-
https://github.com/llvm/llvm-project/blob/12b44bf5ee3eee46062b5f8f208be20edd0b3e06/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_internal.h#L150

I have recently encountered some events where it appears that one or more of
these buffers is not sufficient when symbolizing sanitizer failures, leading to
messages like:

==4094==WARNING: Symbolizer buffer too small

Would it be possible to expand these to something larger, maybe 1M? While no
fixed-sized buffer can handle everything, 16K feels very conservative.

-- 
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 52265] New: __attribute__(malloc) with arguments

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52265

Bug ID: 52265
   Summary: __attribute__(malloc) with arguments
   Product: clang
   Version: trunk
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: -New Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: brad.k...@kitware.com
CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org,
neeil...@live.com, richard-l...@metafoo.co.uk

GCC 11.x added support for arguments to __attribute__ (malloc):

*
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;f=gcc/doc/extend.texi;h=dce6c58db87ebf7f4477bd3126228e73e497#patch6

For example:

$ cat test.c
typedef struct my_s {} my;
void myclose (my*);
__attribute__ ((malloc, malloc (myclose))) my* myopen(void);


$ gcc-11 -c test.c
(works)

$ clang-13 -c test.c
test.c:3:25: error: 'malloc' attribute takes no arguments
__attribute__ ((malloc, malloc (myclose))) my* myopen(void);
^

-- 
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 52266] New: -ffp-contract=on prevents vectorization of reduction loop

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52266

Bug ID: 52266
   Summary: -ffp-contract=on prevents vectorization of reduction
loop
   Product: libraries
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Loop Optimizer
  Assignee: unassignedb...@nondot.org
  Reporter: craig.top...@gmail.com
CC: llvm-bugs@lists.llvm.org

Compiling this function with -ffp-contract=on does not vectorize when compiler
for -march=haswell. It works for -ffp-contract=off or -ffp-contract=fast

float foo(float *a, float *b, int n) {
  float sum = 0.0f;

  for (int i = 0; i != n; ++i) {
#pragma clang fp reassociate(on)
sum += a[i] * b[i];
  }
  return sum;
}

https://godbolt.org/z/cdv8dKPj9


I believe the problems is that the -ffp-contract=on causes the multiply and
accumulate in the loop to become a fmuladd intrinsic in the frontend. This
prevents the reduction recurrence from being detected since it is not an FAdd
instruction. With -ffp-contract=off or fast, there are separate fmul and fadd
instructions.

-- 
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 40239 in oss-fuzz: llvm:llvm-opt-fuzzer--x86_64-strength_reduce: Timeout in llvm-opt-fuzzer--x86_64-strength_reduce

2021-10-22 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 Engine-libfuzzer OS-Linux Proj-llvm 
Reported-2021-10-22
Type: Bug

New issue 40239 by ClusterFuzz-External: 
llvm:llvm-opt-fuzzer--x86_64-strength_reduce: Timeout in 
llvm-opt-fuzzer--x86_64-strength_reduce
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40239

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

Project: llvm
Fuzzing Engine: libFuzzer
Fuzz Target: llvm-opt-fuzzer--x86_64-strength_reduce
Job Type: libfuzzer_asan_llvm
Platform Id: linux

Crash Type: Timeout (exceeds 60 secs)
Crash Address: 
Crash State:
  llvm-opt-fuzzer--x86_64-strength_reduce
  
Sanitizer: address (ASAN)

Regressed: 
https://oss-fuzz.com/revisions?job=libfuzzer_asan_llvm&range=201802210603:201802211531

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

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 52267] New: [x86] convert xor with SMIN to add

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52267

Bug ID: 52267
   Summary: [x86] convert xor with SMIN to add
   Product: libraries
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Backend: X86
  Assignee: unassignedb...@nondot.org
  Reporter: spatel+l...@rotateright.com
CC: craig.top...@gmail.com, llvm-bugs@lists.llvm.org,
llvm-...@redking.me.uk, pengfei.w...@intel.com,
spatel+l...@rotateright.com

Based on discussion in https://reviews.llvm.org/D112085 :

define i32 @add_smin(i32 %x) {
  %r = add i32 %x, 2147483648
  ret i32 %r
}

define i32 @xor_smin(i32 %x) {
  %r = xor i32 %x, 2147483648
  ret i32 %r
}

These are logically equivalent:
https://alive2.llvm.org/ce/z/qV46E2

...and instcombine chooses 'xor' for better analysis in IR. But x86 (probably
unlike most targets), may benefit from converting it back to 'add' (for legal
integer types) because that can be lowered as LEA:

  movl  %edi, %eax
  xorl  $-2147483648, %eax  ## imm = 0x8000
vs.
  leal  -2147483648(%rdi), %eax

-- 
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 43232] -Wmissing-braces firing for aggregate structs with only 1 base and no members

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=43232

Mateusz Zych  changed:

   What|Removed |Added

 CC||mte.z...@gmail.com
 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #1 from Mateusz Zych  ---
Good news - this issue has been fixed in Clang 13.0.0:

 - https://godbolt.org/z/3eY664acc

by Hana Dusíková in the following commit:

 - Remove warning "suggest braces" for aggregate initialization of
   an empty class with an aggregate base class.

   ~
https://github.com/llvm/llvm-project/commit/64c24f493e5f4637ee193f10f469cdd2695b4ba6

-- 
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 18117] -Wmissing-braces warning when initializing an array using a parameter pack

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=18117

Mateusz Zych  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
 CC||mte.z...@gmail.com

--- Comment #4 from Mateusz Zych  ---
Hello!

This issue has been fixed in Clang 6.0.0:

 - https://godbolt.org/z/fb6qf71za
 - https://godbolt.org/z/vzfv1PToM

by Richard Smith in the following commit:

 -  Suppress -Wmissing-braces warning when aggregate-initializing a struct
with a single field that is itself an aggregate.

~
https://github.com/llvm/llvm-project/commit/283e2076f6a6f23629475a25c64173843e72cf61

-- 
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 50229] Support -oso_prefix

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=50229

Vy Nguyen  changed:

   What|Removed |Added

 Fixed By Commit(s)||236197e2d026193111580bd145f
   ||00367ba0c1afb
 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
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 52133] UseAfterFree bug in addFramework() causes the same archives to be loaded more than once.

2021-10-22 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=52133

Vy Nguyen  changed:

   What|Removed |Added

   Assignee|unassignedb...@nondot.org   |zhongkaining.paxos@bytedanc
   ||e.com
 Resolution|--- |FIXED
 Status|CONFIRMED   |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] Issue 40249 in oss-fuzz: llvm:clang-fuzzer: Stack-overflow in clang::Sema::EmitCurrentDiagnostic

2021-10-22 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 Stability-Memory-AddressSanitizer Reproducible 
Engine-libfuzzer OS-Linux Proj-llvm Reported-2021-10-23
Type: Bug

New issue 40249 by ClusterFuzz-External: llvm:clang-fuzzer: Stack-overflow in 
clang::Sema::EmitCurrentDiagnostic
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40249

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

Project: llvm
Fuzzing Engine: libFuzzer
Fuzz Target: clang-fuzzer
Job Type: libfuzzer_asan_llvm
Platform Id: linux

Crash Type: Stack-overflow
Crash Address: 0x7ffd32657fc0
Crash State:
  clang::Sema::EmitCurrentDiagnostic
  clang::Sema::ImmediateDiagBuilder::~ImmediateDiagBuilder
  clang::Sema::SemaDiagnosticBuilder::~SemaDiagnosticBuilder
  
Sanitizer: address (ASAN)

Regressed: 
https://oss-fuzz.com/revisions?job=libfuzzer_asan_llvm&range=202108020602:202108030618

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

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