[llvm-bugs] [Bug 29002] [x86] extra cmov in clamp function

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=29002

AsafBadouh  changed:

   What|Removed |Added

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

--- Comment #4 from AsafBadouh  ---
fix in revision 286938

-- 
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 30984] [ELF] - Relocatable output incorrectly handles __tls_get_addr

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=30984

George Rimar  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from George Rimar  ---
r286941

-- 
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 31020] New: Attributed K&R function definition doesn't merge with a prototyped declaration

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31020

Bug ID: 31020
   Summary: Attributed K&R function definition doesn't merge with
a prototyped declaration
   Product: clang
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: Frontend
  Assignee: unassignedclangb...@nondot.org
  Reporter: eugvelesev...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 17590
  --> https://llvm.org/bugs/attachment.cgi?id=17590&action=edit
test

Look at the test:
_Bool K&R parameter is promoted to int but clang considers the K&R function as
prototyped one because of the attribute.

SemaDecl.cpp CreateNewFunctionDecl:
bool HasPrototype =
  (D.isFunctionDeclarator() && D.getFunctionTypeInfo().hasPrototype) ||
  (!isa(R.getTypePtr()) && R->isFunctionProtoType());

So isa(R.getTypePtr()) is false because R.getTypePtr() is
AttributedType.

-- 
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 31019] New: Tonga Bad rendering since AMDGPU: Implement SGPR spilling with scalar stores

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31019

Bug ID: 31019
   Summary: Tonga Bad rendering since AMDGPU: Implement SGPR
spilling with scalar stores
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: AMDGPU
  Assignee: unassignedb...@nondot.org
  Reporter: adf.li...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 17589
  --> https://llvm.org/bugs/attachment.cgi?id=17589&action=edit
valley bad shaders bz2

R9285 VI TONGA getting a screen full of colours with unigine valley (extremehd
preset) since below. Unreal elemental also affected.

commit 4404d0d6e354e80dd7f8f0a0e12d8ad809cf007e
Author: Matt Arsenault 
Date:   Sun Nov 13 18:20:54 2016 +

AMDGPU: Implement SGPR spilling with scalar stores

nThis avoids the nasty problems caused by using
memory instructions that read the exec mask while
spilling / restoring registers used for control flow
masking, but only for VI when these were added.

This always uses the scalar stores when enabled currently,
but it may be better to still try to spill to a VGPR
and use this on the fallback memory path.

The cache also needs to be flushed before wave termination
if a scalar store is used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286766
91177308-0d34-0410-b5e6-96231b3b80d8

-- 
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 31021] New: 1 << 63 not accepted for 64-bit enum value

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31021

Bug ID: 31021
   Summary: 1 << 63 not accepted for 64-bit enum value
   Product: clang
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: C++
  Assignee: unassignedclangb...@nondot.org
  Reporter: avasi...@gmx.net
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

The following code does not compile under any clang version, but compiles on
gcc and MSVC:

enum: long long { test = 1 << 63};

int main()
{}

-- 
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 31021] 1 << 63 not accepted for 64-bit enum value

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31021

Alexander Vassilev  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
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 31022] New: No packages for Ubuntu 16.10

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31022

Bug ID: 31022
   Summary: No packages for Ubuntu 16.10
   Product: Packaging
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: deb packages
  Assignee: unassignedb...@nondot.org
  Reporter: clap...@yandex.ru
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Please, add.

Many thanks for your work!

-- 
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 31023] New: Merge r276347 to 3.9.1

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31023

Bug ID: 31023
   Summary: Merge r276347 to 3.9.1
   Product: new-bugs
   Version: 3.9
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: guy.bl...@intel.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

[X86] Do not use AND8ri8 in AVX512 pattern

This variant is (as documented in the TD) for disassembler use only, and should
not be used in patterns - it is longer, and is broken on 64-bit.





Without this change, illegal instructions could be 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
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 30981] AVX512: FastISel generates invalid seto

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=30981

Zvi Rackover  changed:

   What|Removed |Added

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

--- Comment #4 from Zvi Rackover  ---
Fixed in r286958

-- 
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 30261] [Meta] 3.9.1 Merges and Bug Fixes

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=30261

Bug 30261 depends on bug 30851, which changed state.

Bug 30851 Summary: Merge r283223 into the 3.9 branch
https://llvm.org/bugs/show_bug.cgi?id=30851

   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 30851] Merge r283223 into the 3.9 branch

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=30851

Alexey Bataev  changed:

   What|Removed |Added

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

--- Comment #11 from Alexey Bataev  ---
Committed:
rL286964 Merging r284110:
rL286965 Merging r286129:
rL286966 Merging r286584:
rL286968 Merging r286944:
rL286970 Merging r284229:
rL286972 Merging r283223:

-- 
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 31024] New: [X86] Unnecessary register moves

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31024

Bug ID: 31024
   Summary: [X86] Unnecessary register moves
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: X86
  Assignee: unassignedb...@nondot.org
  Reporter: llvm-...@redking.me.uk
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

define <8 x i64> @sext_16i8_to_8i64(<16 x i8> %A) nounwind uwtable readnone ssp
{
entry:
  %B = shufflevector <16 x i8> %A, <16 x i8> undef, <8 x i32> 
  %C = sext <8 x i8> %B to <8 x i64>
  ret <8 x i64> %C
}

llc -mtriple=x86_64-unknown-unknown -mattr=+avx2

sext_16i8_to_8i64:
  vpmovsxbq %xmm0, %ymm2
  vpshufd {{.*#+}} xmm0 = xmm0[1,1,2,3]
  vpmovsxbq %xmm0, %ymm1
  vmovdqa %ymm2, %ymm0
  retq

This could avoid the register move:

sext_16i8_to_8i64:
  vpshufd {{.*#+}} xmm1 = xmm0[1,1,2,3]
  vpmovsxbq %xmm0, %ymm0
  vpmovsxbq %xmm1, %ymm1
  retq

Reg-reg moves are almost free but its still better to avoid them if we can.

-- 
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 30608] Super slow to compile simple code (Loop Invariant Code Motion, 3.8: 0.05s, 3.9: 1m+. >1200% slowdown)

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=30608

Alexandre Bique  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |---

--- Comment #19 from Alexandre Bique  ---
Hi,

I did build the branch 3.9 this morning, and it is slow to build.

I believe that the fix was not grafted onto the 3.9 branch?

Many thanks,
Alex

-- 
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 31021] 1 << 63 not accepted for 64-bit enum value

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31021

Richard Smith  changed:

   What|Removed |Added

 CC||richard-l...@metafoo.co.uk
 Resolution|FIXED   |INVALID

-- 
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 13248] efficient implementation of sitofp for vectors

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=13248

Simon Pilgrim  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from Simon Pilgrim  ---
Fixed in rL286979

-- 
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 31025] New: deleted move constructor ignored by return statement

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31025

Bug ID: 31025
   Summary: deleted move constructor ignored by return statement
   Product: clang
   Version: trunk
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: C++11
  Assignee: unassignedclangb...@nondot.org
  Reporter: cubbi...@gmail.com
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

When returning a class lvalue with deleted move constructor, first phase of the
return statement's overload resolution selects that deleted move constructor
and results in an error in GCC, Intel, and MSVC. Clang, however, silently falls
through to the second phase overload resolution (and selects the copy ctor if
available):

struct B
{
B() {};
B(const B &) {}; 
B(B &&) = delete;
};

B bar() {
  B b;
  return b; // OK in Clang, Error in GCC, Intel, MSVC
}

The relevant standardese is [class.copy]/32 "If the first overload resolution
fails ... " and it appears clang disagrees with others w.r.t. what it means for
overload resolution to "fail" in this context.

-- 
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 31026] New: Merge r286998 into the 3.9 branch

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31026

Bug ID: 31026
   Summary: Merge r286998 into the 3.9 branch
   Product: libraries
   Version: 3.9
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Common Code Generator Code
  Assignee: unassignedb...@nondot.org
  Reporter: chf...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

This fixes the runtime results produces by the fallback multiplication
expansion introduced in r270720.

-- 
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 31017] ccc-analyzer is NO sufficient to build glibc

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31017

Devin Coughlin  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 CC||dcough...@apple.com
 Resolution|INVALID |---

--- Comment #2 from Devin Coughlin  ---
It looks like this is happening because the configure script requires GCC 4.7+
and clang only claims to be compatible (via the preprocessor defines in
InitPreprocessor.cpp) with GCC 4.2.1.

I wonder if we can bump the claimed compatibility?

-- 
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 31027] New: thinlto link failure

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31027

Bug ID: 31027
   Summary: thinlto link failure
   Product: clang
   Version: 3.9
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: C++
  Assignee: unassignedclangb...@nondot.org
  Reporter: parag.warud...@gmail.com
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

Trying to build ZeroC ICE (https://zeroc.com/distributions/ice#source) on
Ubuntu 14.04 using clang++-3.9. 

/usr/bin/ld is symlinked to /usr/bin/ld.gold. The build fails in
/cpp/src/slice2cs directory if -flto=thin is used. 

clang++-3.9 -rdynamic -m64 -flto=thin -fvisibility=hidden -Wall -Werror
-pthread -fPIC -g -L../../lib/x86_64-linux-gnu -Wl,--disable-new-dtags
-Wl,-rpath,\$ORIGIN/../lib/x86_64-linux-gnu -o ../../bin/slice2cs Gen.o Main.o
-lSlice -lIceUtil
Gen.cpp:2996: error: undefined reference to
'Slice::Gen::TieVisitor::TieVisitor(IceUtilInternal::Output&)'
Gen.cpp:3003: error: undefined reference to
'Slice::Gen::ImplVisitor::ImplVisitor(IceUtilInternal::Output&)'
Gen.cpp:3010: error: undefined reference to
'Slice::Gen::ImplTieVisitor::ImplTieVisitor(IceUtilInternal::Output&)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Replacing the -flto=thin with just -flto and keeping the same rest of the
command line the link succeeds. I am not sure however since normal LTO
succeeds, it looks like this is a bug with ThinLTO?

[ If anyone wants to reproduce this, ICE is easy to build with few dependencies
 -mcpp, libssl-dev etc- and requires passing CXX=clang++-3.9 to make along with
modifying the Make.rules.Linux to treat clang++-3.9 as g++ and adding
-flto=thin to CXXFLAGS.]

-- 
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 31028] New: Too much division

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31028

Bug ID: 31028
   Summary: Too much division
   Product: libraries
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: X86
  Assignee: unassignedb...@nondot.org
  Reporter: fil...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Mentioned by Tillmann Karras.

The x86 backend emits too many idiv instructions for this function:

#include 
int32_t f(int32_t a, int32_t b) {
  if (a % b == 42)
return a / b;
  return 3;
}

Codegen:
x86-64 (annotated):
patatino(int, int):  # @patatino(int, int)
mov ecx, edi
mov eax, ecx
cdq
idivesi   # This gets us quotient in rax, remainder in rdx
mov eax, 3
cmp edx, 42
jne .LBB0_2
mov eax, ecx
cdq
idivesi   # This is useless since we already had the result
before
.LBB0_2:
ret

arm64 target (Only one divide. Different trick ("multiply-subtract"
instruction: msub)):
patatino(int, int):  // @patatino(int, int)
mov  w8, w0
sdivw0, w8, w1
msubw8, w0, w1, w8
cmp   w8, #42 // =42
b.eq.LBB0_2
orr w0, wzr, #0x3
.LBB0_2:
ret

-- 
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 31029] New: inlinable function call in a function with debug info must have a !dbg location

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31029

Bug ID: 31029
   Summary: inlinable function call in a function with debug info
must have a !dbg location
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: h...@chromium.org
CC: llvm-bugs@lists.llvm.org, r...@google.com
Classification: Unclassified

a.ii:

class __declspec(dllexport) A {
  A(int * = new int) {}
};

$ clang -cc1 -triple i386-pc-windows-msvc19.0.0 -emit-obj
-debug-info-kind=line-tables-only -fms-extensions a.ii



inlinable function call in a function with debug info must have a !dbg location
  %call2 = call x86_thiscallcc %class.A* @"\01??0A@@AAE@PAH@Z"(%class.A*
%this1, i32* %0)
fatal error: error in backend: Broken function found, compilation aborted!




I'm currently bisecting.

-- 
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 23281] clang allows invalid code with lambda expression move-assignment

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=23281

Richard Smith  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||richard-l...@metafoo.co.uk
 Resolution|--- |FIXED

--- Comment #1 from Richard Smith  ---
Fixed in r287057.

-- 
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 31030] New: leak in __cxa_demangle

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31030

Bug ID: 31030
   Summary: leak in __cxa_demangle
   Product: new-bugs
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: k...@google.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

on fresh trunk: feed these 8 bytes into __cxa_demangle to get a memory leak: 

: 5f5a 355a 835a 8340  _Z5Z.Z.@


full reproducer: 

#include 
extern "C" char *
__cxa_demangle(const char *mangled_name, char *buf, size_t *n, int *status);


int main() {
  unsigned char buf[] = {0x5f, 0x5a, 0x35, 0x5a, 0x83, 0x5a, 0x83, 0x40, 0};
  __cxa_demangle((char*)buf, 0, 0, 0);
}


cc llvm/projects/libcxxabi/src
clang++ -std=c++11 -g   cxa_demangle.cpp -I../include repro.cc -o repro 
-fsanitize=address 

==20050==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 6 byte(s) in 1 object(s) allocated from:
#0 0x4c1fce in realloc 
#1 0x4f0c33 in __cxa_demangle
llvm/projects/libcxxabi/src/cxa_demangle.cpp:5023:47

(found by libFuzzer, see also
https://bugs.chromium.org/p/chromium/issues/detail?id=606626)

-- 
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 31031] New: __cxa_demangle consumes 6.5Gb on "___Z2i_D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D"

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31031

Bug ID: 31031
   Summary: __cxa_demangle consumes 6.5Gb on
"___Z2i_D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1
D1D1D1D1D1D1D"
   Product: new-bugs
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: k...@google.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Feed "___Z2i_D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D"
into __cxa_demangle and watch it consume 6.5 Gb of RAM:

#include 
extern "C" char *
__cxa_demangle(const char *mangled_name, char *buf, size_t *n, int *status);


int main() {
 
__cxa_demangle("___Z2i_D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D",
0, 0, 0);
}

clang++ -std=c++11 -g   cxa_demangle.cpp -I../include repro.cc -o repro

/usr/bin/time ./repro 
8.55user 2.41system 0:10.98elapsed 99%CPU (0avgtext+0avgdata
6557996maxresident)k


(found by libFuzzer, see also
https://bugs.chromium.org/p/chromium/issues/detail?id=606626)

-- 
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 30915] Move from ErrorOr to Expected in llvm/Object/ELF.h

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=30915

Davide Italiano  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Davide Italiano  ---
Finally done with it. r287082 (and r287083 for lld)

-- 
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 30540] Fuzzing lld/ELF

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=30540

Bug 30540 depends on bug 30915, which changed state.

Bug 30915 Summary: Move from ErrorOr to Expected in llvm/Object/ELF.h
https://llvm.org/bugs/show_bug.cgi?id=30915

   What|Removed |Added

 Status|ASSIGNED|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 31032] New: [X86] Extra scalar move in scalar intrinsic sequences

2016-11-15 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=31032

Bug ID: 31032
   Summary: [X86] Extra scalar move in scalar intrinsic sequences
   Product: libraries
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: X86
  Assignee: unassignedb...@nondot.org
  Reporter: craig.top...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

This IR sequence produces an extra move or blend of zero into the upper bits 
just before the minss instruction.

; Function Attrs: nounwind
define i16 @test1(float %f) #0 {
  %tmp = insertelement <4 x float> undef, float %f, i32 0
  %tmp10 = insertelement <4 x float> %tmp, float 0.00e+00, i32 1
  %tmp11 = insertelement <4 x float> %tmp10, float 0.00e+00, i32 2
  %tmp12 = insertelement <4 x float> %tmp11, float 0.00e+00, i32 3
  %1 = extractelement <4 x float> %tmp12, i32 0
  %2 = fsub float %1, 1.00e+00
  %3 = insertelement <4 x float> %tmp12, float %2, i32 0
  %4 = extractelement <4 x float> %3, i32 0
  %5 = fmul float %4, 5.00e-01
  %6 = insertelement <4 x float> %3, float %5, i32 0
  %tmp48 = tail call <4 x float> @llvm.x86.sse.min.ss(<4 x float> %6, <4 x
float> )
  %tmp59 = tail call <4 x float> @llvm.x86.sse.max.ss(<4 x float> %tmp48, <4 x
float> zeroinitializer)
  %tmp.upgrd.1 = tail call i32 @llvm.x86.sse.cvttss2si(<4 x float> %tmp59)
  %tmp69 = trunc i32 %tmp.upgrd.1 to i16
  ret i16 %tmp69
}


Output for the AVX target:

vxorps%xmm1, %xmm1, %xmm1
vaddssLCPI0_0(%rip), %xmm0, %xmm0
vmulssLCPI0_1(%rip), %xmm0, %xmm0
vblendps$1, %xmm0, %xmm1, %xmm0 ## xmm0 = xmm0[0],xmm1[1,2,3]
vminssLCPI0_2(%rip), %xmm0, %xmm0
vmaxss%xmm1, %xmm0, %xmm0
vcvttss2si%xmm0, %eax
## kill: %AX %AX %EAX
retq


This occurs because the floats constant fold forward to the final insertelement
at %6 creating a vzmovl SDNode that is lowered as a blendps or movss depending
on which features are enabled. Ideally we'd realize that the min, max, and
vcvtss2si don't need the bits are move them. I suspect running this code
through InstCombine first might figure that out.

-- 
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