[llvm-bugs] [Bug 28547] New: Error "Non-constant offsets error are not supported" parsing assembly with comments

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28547

Bug ID: 28547
   Summary: Error "Non-constant offsets error are not supported"
parsing assembly with comments
   Product: clang
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: Frontend
  Assignee: unassignedclangb...@nondot.org
  Reporter: pierregoussea...@gmail.com
CC: llvm-bugs@lists.llvm.org,
paul_robin...@playstation.sony.com
Classification: Unclassified

clang 3.9 @275278

-
repro.asm:

.intel_syntax
vmovaps xmm15, xmmword ptr [rip+ones] # +1.0, +1.0, +1.0, +1.0

$ clang -c repro.asm
repro.asm:2:39: error: Non-constant offsets are not supported!
vmovaps xmm15, xmmword ptr [rip+ones] # +1.0, +1.0, +1.0, +1.0
  ^
-

This seems to have been introduced by r273007 which introduce a change to how
"CPPHash Directives" are handled during assembly parsing.

-- 
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 28548] New: NamespaceBreakpointTestCase fails with gcc

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28548

Bug ID: 28548
   Summary: NamespaceBreakpointTestCase fails with gcc
   Product: lldb
   Version: unspecified
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: All Bugs
  Assignee: lldb-...@lists.llvm.org
  Reporter: lab...@google.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

The test fails because the lldb decides that the name of the function `static
int func()` is `::func()`. This happens because gcc does not output the
DW_AT_MIPS_linkage_name attribute for functions with internal linkage.
At this point it is not clear to me whether we should fix the "demangling" of
this function, or just make the test be less strict about the names it accepts.

-- 
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 28549] New: TestStepNoDebug.py fails with gcc and top-of-tree clang (3.9)

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28549

Bug ID: 28549
   Summary: TestStepNoDebug.py fails with gcc and top-of-tree
clang (3.9)
   Product: lldb
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: All Bugs
  Assignee: lldb-...@lists.llvm.org
  Reporter: lab...@google.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Preliminary investigation for clang/i386 case suggests that this is due to the
fact that our instruction emulation does not create a good unwind plan. GCC
issue has similar symptoms but remains untriaged.

-- 
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 28550] New: Tonga Unigine Valley UNREACHABLE executed since AMDGPU: Follow up to r275203

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28550

Bug ID: 28550
   Summary: Tonga Unigine Valley UNREACHABLE executed since
AMDGPU: Follow up to r275203
   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

R9 285 Tonga testing with Unigine valley highest settings since -

commit 8a85be72363dd7b7a5d4315f5e6c6cab35245e51
Author: Matt Arsenault 
Date:   Tue Jul 12 21:41:32 2016 +

AMDGPU: Follow up to r275203

I meant to squash this into it.

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

The demo bails on startup with -

unable to find instruction size
UNREACHABLE executed at
/mnt/sdb1/Gits/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp:3140!

-- 
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 28551] New: Regression(r275401): assert while building ffmpeg

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28551

Bug ID: 28551
   Summary: Regression(r275401): assert while building ffmpeg
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Transformation Utilities
  Assignee: unassignedb...@nondot.org
  Reporter: nicolaswe...@gmx.de
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

https://build.chromium.org/p/chromium.fyi/builders/ClangToTMac%20%28dbg%29/builds/5679/steps/compile/logs/stdio

FAILED: obj/third_party/ffmpeg/libavutil/ffmpeg.eval.o 
../../third_party/llvm-build/Release+Asserts/bin/clang -MMD -MF
obj/third_party/ffmpeg/libavutil/ffmpeg.eval.o.d -DV8_DEPRECATION_WARNINGS
-D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DCHROMIUM_BUILD
-DCR_CLANG_REVISION=275412 -DCOMPONENT_BUILD -DUSE_LIBJPEG_TURBO=1
-DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DENABLE_PEPPER_CDMS
-DENABLE_NOTIFICATIONS -DUSE_EXTERNAL_POPUP_MENU -DFIELDTRIAL_TESTING_ENABLED
-DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PDF=1
-DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1
-DENABLE_THEMES=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1
-DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DUSE_BROWSER_SPELLCHECKER=1
-DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_SUPERVISED_USERS=1
-DENABLE_SERVICE_DISCOVERY=1 -DV8_USE_EXTERNAL_STARTUP_DATA
-DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL
-DHAVE_AV_CONFIG_H -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC
-DFF_API_CONVERGENCE_DURATION=0 -D_DARWIN_C_SOURCE -DUSE_LIBPCI=1
-DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen
-I../../third_party/ffmpeg/chromium/config/Chromium/mac/x64
-I../../third_party/ffmpeg -isysroot
/Applications/Xcode7.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk
-O2 -Werror -mmacosx-version-min=10.7 -arch x86_64 -Wall -Wno-unused-parameter
-Wno-missing-field-initializers -Wno-selector-type-mismatch
-Wpartial-availability -Wheader-hygiene -Wno-char-subscripts
-Wno-unneeded-internal-declaration -Wno-covered-switch-default
-Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register
-Wno-inconsistent-missing-override -Wno-shift-negative-value
-Wno-undefined-var-template -Wno-nonportable-include-path -Wno-absolute-value
-Wno-deprecated-declarations -Wno-incompatible-pointer-types -Wno-parentheses
-Wno-pointer-sign -Wno-switch -Wno-unused-label -Wno-unused-variable
-Wno-string-conversion -Wno-sometimes-uninitialized -Wno-unused-function
-Wno-constant-conversion -Wno-unused-variable -std=c99 -fcolor-diagnostics
-fno-strict-aliasing -fstack-protector-strong  -c
../../third_party/ffmpeg/libavutil/eval.c -o
obj/third_party/ffmpeg/libavutil/ffmpeg.eval.o
Assertion failed: (A != B), function operator(), file
/b/c/b/ClangToTMac__dbg_/src/third_party/llvm/lib/Transforms/Scalar/GVNHoist.cpp,
line 67.
Stack dump:
0.Program arguments:
/b/c/b/ClangToTMac__dbg_/src/third_party/llvm-build/Release+Asserts/bin/clang-3.9
-cc1 -triple x86_64-apple-macosx10.7.0 -Wdeprecated-objc-isa-usage
-Werror=deprecated-objc-isa-usage -emit-obj -disable-free -main-file-name
eval.c -mrelocation-model pic -pic-level 2 -mthread-model posix
-mdisable-fp-elim -relaxed-aliasing -masm-verbose -munwind-tables -target-cpu
core2 -target-linker-version 253.3 -dwarf-column-info -debugger-tuning=lldb
-coverage-file
/b/c/b/ClangToTMac__dbg_/src/out/Debug/obj/third_party/ffmpeg/libavutil/ffmpeg.eval.o
-resource-dir
/b/c/b/ClangToTMac__dbg_/src/third_party/llvm-build/Release+Asserts/bin/../lib/clang/3.9.0
-dependency-file obj/third_party/ffmpeg/libavutil/ffmpeg.eval.o.d -MT
obj/third_party/ffmpeg/libavutil/ffmpeg.eval.o -isysroot
/Applications/Xcode7.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk
-D V8_DEPRECATION_WARNINGS -D
__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -D CHROMIUM_BUILD -D
CR_CLANG_REVISION=275412 -D COMPONENT_BUILD -D USE_LIBJPEG_TURBO=1 -D
ENABLE_WEBRTC=1 -D ENABLE_MEDIA_ROUTER=1 -D ENABLE_PEPPER_CDMS -D
ENABLE_NOTIFICATIONS -D USE_EXTERNAL_POPUP_MENU -D FIELDTRIAL_TESTING_ENABLED
-D ENABLE_TASK_MANAGER=1 -D ENABLE_EXTENSIONS=1 -D ENABLE_PDF=1 -D
ENABLE_PLUGIN_INSTALLATION=1 -D ENABLE_PLUGINS=1 -D ENABLE_SESSION_SERVICE=1 -D
ENABLE_THEMES=1 -D ENABLE_PRINTING=1 -D ENABLE_BASIC_PRINTING=1 -D
ENABLE_PRINT_PREVIEW=1 -D ENABLE_SPELLCHECK=1 -D USE_BROWSER_SPELLCHECKER=1 -D
ENABLE_CAPTIVE_PORTAL_DETECTION=1 -D ENABLE_SUPERVISED_USERS=1 -D
ENABLE_SERVICE_DISCOVERY=1 -D V8_USE_EXTERNAL_STARTUP_DATA -D
FULL_SAFE_BROWSING -D SAFE_BROWSING_CSD -D SAFE_BROWSING_DB_LOCAL -D
HAVE_AV_CONFIG_H -D _POSIX_C_SOURCE=200112 -D _XOPEN_SOURCE=600 -D PIC -D
FF_API_CONVERGENCE_DURATION=0 -D _DARWIN_C_SOURCE -D USE_LIBPCI=1 -D
DYNAMIC_ANNOTATIONS_ENABLED=1 -D WTF_USE_DYNAMIC_ANNOTATIONS=1 -I gen -I
../../third_party/ff

[llvm-bugs] [Bug 28552] New: Regression(275411): "Instruction does not dominate all uses!" when building skia

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28552

Bug ID: 28552
   Summary: Regression(275411): "Instruction does not dominate all
uses!" when building skia
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: X86
  Assignee: unassignedb...@nondot.org
  Reporter: nicolaswe...@gmx.de
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

C:\src\chrome\src>ninja -C out\gn obj/skia/skia/SkTextureCompressor_ASTC.obj
ninja: Entering directory `out\gn'
[1/1] CXX obj/skia/skia/SkTextureCompressor_ASTC.obj
FAILED: obj/skia/skia/SkTextureCompressor_ASTC.obj
../../../../llvm-build/bin/clang-cl.exe /nologo /showIncludes /FC
@obj/skia/skia/SkTextureCompressor_ASTC.obj.rsp /c ../
../third_party/skia/src/utils/SkTextureCompressor_ASTC.cpp
/Foobj/skia/skia/SkTextureCompressor_ASTC.obj /Fd"obj/skia/sk
ia_cc.pdb"
Instruction does not dominate all uses!
  %frombool20 = and i8 %and19.tr, 1
  store i8 %frombool20, i8* %2, align 4
fatal error: error in backend: Broken function found, compilation aborted!
clang-cl.exe: error: clang frontend command failed with exit code 70 (use -v to
see invocation)
clang version 3.9.0 (trunk 275411) (llvm/trunk 275410)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\src\llvm-build\bin
clang-cl.exe: note: diagnostic msg: PLEASE submit a bug report to
http://llvm.org/bugs/ and include the crash backtrace,
 preprocessed source, and associated run script.
clang-cl.exe: note: diagnostic msg:


PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-cl.exe: note: diagnostic msg:
C:\Users\thakis\AppData\Local\Temp\SkTextureCompressor_ASTC-d18575.sh
clang-cl.exe: note: diagnostic msg:



-- 
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 28538] [mc][gfx8] No validation for DPP control row_bcast

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28538

Sam Kolton  changed:

   What|Removed |Added

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

--- Comment #1 from Sam Kolton  ---
Fixed in revision r275422

-- 
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 28551] Regression(r275401): assert while building ffmpeg

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28551

Sebastian Pop  changed:

   What|Removed |Added

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

--- Comment #9 from Sebastian Pop  ---
Which explains the crashes all over the place: the std::sort of today's libcxx
is inefficient as it calls the compare function on the same element:

// known that *(__i - 1) < *__m
// known that __i <= __m
while (true)
{
// __m still guards upward moving __i
while (__comp(*__i, *__m))
++__i;
// It is now known that a guard exists for downward moving __j
while (!__comp(*--__j, *__m))
;
if (__i > __j)
break;
swap(*__i, *__j);
++__n_swaps;
// It is known that __m != __j
// If __m just moved, follow it
if (__m == __i)
__m = __j;
++__i;
}

In particular this "if (__m == __i)" should be above the first call to
__comp().
Maybe some other places.

As the buildbots are not bootstrapping their libc++, there is not much I can do
to avoid all the users of Apple toolchains to see the assert failing.

I will remove the assert that I have in the GVNHoist code, and open a libcxx
bug for inefficiencies in the std::sort() algorithm.

-- 
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 28547] Error "Non-constant offsets error are not supported" parsing assembly with comments

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28547

Nirav Dave  changed:

   What|Removed |Added

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

--- Comment #5 from Nirav Dave  ---
Fixed in rL275445.

-- 
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 28507] unknown emulation: elf32_x86_64

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28507

Rui Ueyama  changed:

   What|Removed |Added

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

--- Comment #4 from Rui Ueyama  ---
Fixed in r275236 by H.J Lu.

-- 
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 28551] Regression(r275401): assert while building ffmpeg

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28551

Sebastian Pop  changed:

   What|Removed |Added

 Resolution|FIXED   |DUPLICATE

--- Comment #11 from Sebastian Pop  ---


*** This bug has been marked as a duplicate of bug 20837 ***

-- 
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 28553] New: "Failed to parse object file" diagnostic doesn't list object file; diagnostics pretty inconsistent in general

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28553

Bug ID: 28553
   Summary: "Failed to parse object file" diagnostic doesn't list
object file; diagnostics pretty inconsistent in
general
   Product: lld
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: COFF
  Assignee: unassignedb...@nondot.org
  Reporter: nicolaswe...@gmx.de
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

I was playing with cross-linking chrome/win on Linux again. At some point, lld
failed with

Failed to parse object file: The file was not recognized as a valid object file

which is not a very useful error message. It tells me that things didn't work
twice, but doesn't tell me which file the problem was with. So I did:

Index: COFF/InputFiles.cpp
===
--- COFF/InputFiles.cpp(revision 275409)
+++ COFF/InputFiles.cpp(working copy)
@@ -105,8 +104,7 @@
   // Parse a memory buffer as a COFF file.
   auto BinOrErr = createBinary(MB);
   if (!BinOrErr)
-error(errorToErrorCode(BinOrErr.takeError()),
-   "Failed to parse object file");
+error(errorToErrorCode(BinOrErr.takeError()), getShortName());
   std::unique_ptr Bin = std::move(*BinOrErr);

   if (auto *Obj = dyn_cast(Bin.get())) {


Then I realized that InputFiles has the same problem in a few other places, so
I made the same change in a few other places.  Then I noticed that the warnings
I changed now have the format "dynamic string: fixed error string" while a few
other diagnostics follow the pattern "fixed error string: dynamic string"
(where "dynamic string" is the name of an object file, a symbol, etc), so I
started changing these to the other format as well.

Punctuation, capitalization, etc are also inconsistent.

And then I realized that it's probably best if Rui makes some decision on how
diagnostic messages should look like :-)


I think for greppability (and scanability by users) it'd also be helpful if
each error message started with "error: ", e.g.

error: obj/third_party/angle/libglesv2/libglesv2.res: The file was not
recognized as a valid object file


Here's where I was at before I realized I should instead file a bug before I
get in too deep.

-- 
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 28554] New: LLD fails to devirtualize the code that Gold plugin does

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28554

Bug ID: 28554
   Summary: LLD fails to devirtualize the code that Gold plugin
does
   Product: lld
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: ELF
  Assignee: unassignedb...@nondot.org
  Reporter: kra...@google.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 16742
  --> https://llvm.org/bugs/attachment.cgi?id=16742&action=edit
devirt.cc

Consider the attached program, devirt.cc. With Gold and LLVM Gold plugin we
get:

$ clang++ -O2 -fuse-ld=gold -o lala -fvisibility=hidden devirt.cc -std=c++11
-flto -fwhole-program-vtables  -Wl,-plugin-opt,-pass-remarks=wholeprogramdevirt
-Wl,-plugin-opt,O1 -Wl,-plugin-opt,-function-sections
-Wl,-plugin-opt,save-temps
LLVM gold plugin: :0:0: devirtualized call
LLVM gold plugin: :0:0: devirtualized call
LLVM gold plugin: :0:0: devirtualized call
$

In the bitcode (lala.opt.bc) we see the call was devirtualized:
  %vfn = getelementptr inbounds i1 (%class.Base*, i32)*, i1 (%class.Base*,
i32)** %vtable, i64 2
  %10 = load i1 (%class.Base*, i32)*, i1 (%class.Base*, i32)** %vfn, align 8
  %11 = icmp ne i8* %9, getelementptr (i8, i8* bitcast ([6 x i8*]* @_ZTV1A to
i8*), i64 16)
  %conv = zext i1 %11 to i32
  %call19 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x
i8], [4 x i8]* @.str.1, i64 0, i64 0), i32 %conv)

If we link with lld, nothing happens:
$ clang++ -fuse-ld=lld -o lala devirt.cc -std=c++11 -flto -fvisibility=hidden
-fwhole-program-vtables  -Wl,-mllvm,-pass-remarks=wholeprogramdevirt
-Wl,--lto-O1  -Wl,-save-temps  
$

And the bitcode shows that we still have a virtual call:

  %vfn = getelementptr inbounds i1 (%class.Base*, i32)*, i1 (%class.Base*,
i32)** %vtable, i64 2
  %19 = load i1 (%class.Base*, i32)*, i1 (%class.Base*, i32)** %vfn, align 8
  %call17 = invoke zeroext i1 %19(%class.Base* %call15, i32 1)
  to label %invoke.cont16 unwind label %lpad

invoke.cont16:; preds = %sw.epilog
  %conv = zext i1 %call17 to i32
  %call19 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8],
[4 x i8]* @.str.1, i32 0, i32 0), i32 %conv)

This prevents lld from being deployed in Chromium as the default linker on
Linux.

-- 
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 28555] New: Clang core dumps on recursive template instantiation of tuples

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28555

Bug ID: 28555
   Summary: Clang core dumps on recursive template instantiation
of tuples
   Product: clang
   Version: 3.8
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: -New Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: mocon...@directstream.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

The stack trace:

unknown ArgumentKind
UNREACHABLE executed at
/home/moconnor/Source/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp:1169!

#0 0x01024235 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
/home/moconnor/Source/llvm/lib/Support/Unix/Signals.inc:323:0
#1 0x01022126 llvm::sys::RunSignalHandlers()
/home/moconnor/Source/llvm/lib/Support/Signals.cpp:45:0
#2 0x0102229d SignalHandler(int)
/home/moconnor/Source/llvm/lib/Support/Unix/Signals.inc:200:0
#3 0x00349440f7e0 __restore_rt (/lib64/libpthread.so.0+0x349440f7e0)
#4 0x003494032625 __GI_raise (/lib64/libc.so.6+0x3494032625)
#5 0x003494033e05 __GI_abort (/lib64/libc.so.6+0x3494033e05)
#6 0x00fe74dc
(/home/moconnor/Applications/gcc-4.8.2/bin/clang-3.8+0xfe74dc)
#7 0x02387028 (anonymous
namespace)::TemplateDiff::InitializeNonTypeDiffVariables(clang::ASTContext&,
(anonymous namespace)::TemplateDiff::TSTiterator const&,
clang::NonTypeTemplateParmDecl*, llvm::APSInt&, bool&, clang::QualType&, bool&,
clang::Expr*&, clang::ValueDecl*&, bool&) [clone .isra.487]
/home/moconnor/Source/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp:1169:0
#8 0x02387edf DiffNonTypes
/home/moconnor/Source/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp:1213:0
#9 0x02387edf (anonymous
namespace)::TemplateDiff::DiffTemplate(clang::TemplateSpecializationType
const*, clang::TemplateSpecializationType const*)
/home/moconnor/Source/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp:1303:0
#10 0x0238a8b3 DiffTemplate
/home/moconnor/Source/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp:2003:0
#11 0x0238a8b3 FormatTemplateTypeDiff(clang::ASTContext&,
clang::QualType, clang::QualType, bool, bool, bool, bool, llvm::raw_ostream&)
/home/moconnor/Source/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp:2032:0
#12 0x0238c5d1
clang::FormatASTNodeDiagnosticArgument(clang::DiagnosticsEngine::ArgumentKind,
long, llvm::StringRef, llvm::StringRef,
llvm::ArrayRef >,
llvm::SmallVectorImpl&, void*, llvm::ArrayRef)
/home/moconnor/Source/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp:344:0
#13 0x0111492c clang::Diagnostic::FormatDiagnostic(char const*, char
const*, llvm::SmallVectorImpl&) const
/home/moconnor/Source/llvm/tools/clang/lib/Basic/Diagnostic.cpp:908:0
#14 0x01465a67 raw_svector_ostream
/home/moconnor/Source/llvm/include/llvm/Support/raw_ostream.h:493:0
#15 0x01465a67
clang::TextDiagnosticPrinter::HandleDiagnostic(clang::DiagnosticsEngine::Level,
clang::Diagnostic const&)
/home/moconnor/Source/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp:122:0
#16 0x01118934
clang::DiagnosticIDs::EmitDiag(clang::DiagnosticsEngine&,
clang::DiagnosticIDs::Level) const
/home/moconnor/Source/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp:680:0
#17 0x0111996e
clang::DiagnosticIDs::ProcessDiag(clang::DiagnosticsEngine&) const
/home/moconnor/Source/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp:672:0
#18 0x0111284c clang::DiagnosticsEngine::EmitCurrentDiagnostic(bool)
/home/moconnor/Source/llvm/tools/clang/lib/Basic/Diagnostic.cpp:389:0
#19 0x01c42bc0 clang::Sema::EmitCurrentDiagnostic(unsigned int)
/home/moconnor/Source/llvm/tools/clang/lib/Sema/Sema.cpp:1052:0
#20 0x01c14ae7 clang::DiagnosticBuilder::Emit()
/home/moconnor/Source/llvm/tools/clang/include/clang/Basic/Diagnostic.h:920:0
#21 0x01c14ae7 ~DiagnosticBuilder
/home/moconnor/Source/llvm/tools/clang/include/clang/Basic/Diagnostic.h:953:0
#22 0x01c14ae7
clang::Sema::SemaDiagnosticBuilder::~SemaDiagnosticBuilder()
/home/moconnor/Source/llvm/tools/clang/include/clang/Sema/Sema.h:1087:0
#23 0x01cd2bce clang::Sema::MergeVarDeclTypes(clang::VarDecl*,
clang::VarDecl*, bool)
/home/moconnor/Source/llvm/tools/clang/lib/Sema/SemaDecl.cpp:3331:0
#24 0x01ce08a2 clang::Sema::MergeVarDecl(clang::VarDecl*,
clang::LookupResult&)
/home/moconnor/Source/llvm/tools/clang/lib/Sema/SemaDecl.cpp:3467:0
#25 0x01ce11f2 clang::Sema::CheckVariableDeclaration(clang::VarDecl*,
clang::LookupResult&)
/home/moconnor/Source/llvm/tools/clang/lib/Sema/SemaDecl.cpp:6712:0
#26 0x01cf3e4d clang::Declarator::setRedeclaration(bool)
/home/moconnor/Source/llvm/tools/clang/include/clang/Sema/DeclSpec.h:2240:0
#27 0x01cf3e4d clang::Sema::ActOnVariableDeclarator(clang::Scope*,
clang::Declarator&, clang::DeclContext*, clang::TypeSourceInfo*,
clang::LookupResult&, llvm::MutableArrayRef,

[llvm-bugs] [Bug 28555] Clang core dumps on recursive template instantiation of tuples

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28555

David Majnemer  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #3 from David Majnemer  ---
This has been fixed on trunk (r275169):

arb-len-tup.cpp:38:15: error: redefinition of 'b' with a different type:
'ntuple_t<2>' vs 'ntuple_t<1>'
  ntuple_t<2> b = make<2>(0);
  ^
arb-len-tup.cpp:37:15: note: previous definition is here
  ntuple_t<1> b = make<1>(0);
  ^
arb-len-tup.cpp:40:23: error: use of undeclared identifier 'c'
  operator<<<2>(cout, c);
  ^
2 errors generated.

Feel free to reopen if you can reproduce on trunk.

-- 
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 28556] New: [InstCombine] SimplifyDemandedBits makes suboptimal transform

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28556

Bug ID: 28556
   Summary: [InstCombine] SimplifyDemandedBits makes suboptimal
transform
   Product: libraries
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: Scalar Optimizations
  Assignee: unassignedb...@nondot.org
  Reporter: spatel+l...@rotateright.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

define i5 @or_3_or_1(i3 %a) {
  %or1 = or i3 %a, 3
  %z = zext i3 %or1 to i5
  %or2 = or i5 %z, 1
  ret i5 %or2
}

The 2nd 'or' is covered by the 1st, but SimplifyDemandedBits calls
ShrinkDemandedConstant and causes this:

$ ./opt -instcombine -S sandwiches.ll 

define i5 @or_3_or_1(i3 %a) {
  %or1 = or i3 %a, 2  <--- shrink constant causing later 'or' to be needed
  %z = zext i3 %or1 to i5
  %or2 = or i5 %z, 1
  ret i5 %or2
}

I don't know if this is working as intended or if this is a bug.

-- 
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 28557] New: FixupSetCC miscompile

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28557

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

Created attachment 16746
  --> https://llvm.org/bugs/attachment.cgi?id=16746&action=edit
Minimal Repro

For the reproducer here it looks like the xorl is being placed above the place
we set register value:
xorl%edx, %edx
movq(%rax), %rax
movq%rdi, %rdx
orq 96(%rbp), %rdx
movq%rax, -48(%rbp)
setne   %sil
xorl%ebx, %ebx
movslq  (%r8), %rcx
movb%sil, -113(%rbp)
movb%sil, %dl
Built with O2, but seems to happen with O3 as well. I tried to reduce the case
as much as possible but this is as minimal as I could get with abtest.py +
creduce + manual edits.

-- 
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 28556] [InstCombine] SimplifyDemandedBits makes suboptimal transform

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28556

Sanjay Patel  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #7 from Sanjay Patel  ---
(In reply to comment #6)
> I think it is operating as expected here.

Ok, this is just part of the greedy nature of InstCombine then; we take what we
can get from the top-down.

Resolving as 'Invalid'.

Thanks!

-- 
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 28552] Regression(275411): "Instruction does not dominate all uses!" when building skia

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28552

Simon Pilgrim  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #5 from Simon Pilgrim  ---
Confirmed, reverting rL275420 (reimplementing rL275401) causes the reported
error - marking this a duplicate of PR28551

I will resubmit rL275411 (by reverting rL275421)

*** This bug has been marked as a duplicate of bug 28551 ***

-- 
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 28554] LLD fails to devirtualize the code that Gold plugin does

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28554

Ivan Krasin  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #3 from Ivan Krasin  ---
Ooops :)
Thanks for finding that and sorry for a false alarm.

-- 
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 28559] New: iter_swap() shouldn't have an exception specification

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28559

Bug ID: 28559
   Summary: iter_swap() shouldn't have an exception specification
   Product: libc++
   Version: 3.7
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: All Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: vz-l...@zeitlins.org
CC: llvm-bugs@lists.llvm.org, mclow.li...@gmail.com
Classification: Unclassified

I could be wrong, but I think that iter_swap() shouldn't have any exception
specification because it doesn't appear in the standard (nor in libstdc++ nor
MSVC standard library) and so its presence in libc++ where it's defined, in my
copy of /usr/include/c++/v1/type_traits as

template 
inline _LIBCPP_INLINE_VISIBILITY
void
iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
//  _NOEXCEPT_(_NOEXCEPT_(swap(*__a,
*__b)))
   _NOEXCEPT_(_NOEXCEPT_(swap(*_VSTD::declval<_ForwardIterator1>(),
 
*_VSTD::declval<_ForwardIterator2>(
{ ... }

makes it impossible to write portable code specializing iter_swap() as it needs
to use the noexcept() specification above for libc++ and for libc++ only, e.g.
the same code can't compile even when using the same clang compiler for both
-stdlib=libc++ and -stdlib=libstdc++.

Moreover, in my particular case, I specialize iter_swap() in the first place
because swap() can't be used for my iterator type as iterator::reference is a
proxy object and not iterator::value_type&, so the swap() call inside
noexcept() above doesn't compile and makes it completely impossible to use
iter_swap() with this iterator AFAICS.

-- 
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 28560] New: wrong code at -O1 and above in 32-bit mode on x86_64-linux-gnu

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28560

Bug ID: 28560
   Summary: wrong code at -O1 and above in 32-bit mode on
x86_64-linux-gnu
   Product: clang
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: -New Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: s...@cs.ucdavis.edu
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

The following code is miscompiled by the current clang trunk on
x86_64-linux-gnu at -O1 and above in the 32-bit mode (but not in the 64-bit
mode).  

This is a regression from 3.8.x.


$ clang-trunk -v
clang version 3.9.0 (trunk 275388)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/tools/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.3
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.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3
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.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
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.1.1
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
$ 
$ clang-trunk -m32 -O0 small.c; ./a.out
0
4
0
4
0
4
$ clang-3.8 -m32 -O1 small.c; ./a.out
0
4
0
4
0
4
$ 
$ clang-trunk -m32 -O1 small.c; ./a.out
0
0
0
$ 


---


int printf (const char *, ...);

int a = 1, c, d = 10;
char b;

int main ()
{
  unsigned short e = c = 3;
  for (; c; c--)
{
  char f = d;
  short g;
  e = -((~a | (e & f)) - ((10 && e) + d));
  if (!d)
break;
  if (a)
{
  printf ("%d\n", b);
  g = d;
}
  if (e < 63)
printf ("%d\n", 4);
  a = e = g;
}
  return 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
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28561] New: Segmentation fault

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28561

Bug ID: 28561
   Summary: Segmentation fault
   Product: clang
   Version: 3.8
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: C++14
  Assignee: unassignedclangb...@nondot.org
  Reporter: pipp...@exherbo.org
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

This was originally meant as a reduction of bug #28087. Instead of an assertion
failure, I now get a segfault (with 3.8.1). The (invalid!) code:

< class FieldMatrix;
template 
class LocalOperatorAssembler {
}
template ,
class SecondOrderOperatorAssembler
: public LocalOperatorAssembler
{
  SecondOrderOperatorAssembler(const Contraction &contraction, bool
isSymmetric,
   FunctionTypes... functions)
  : contraction_(contraction), isSymmetric_(isSymmetric),
coefficientQuadKey_(coefficientQuadKey), functions_(functions...) {
  }
double const nu = 0.23;
<,
^
secondorderassemblertest-57319f.ii:10:32: error: unknown type name
'FunctionTypes'
   FunctionTypes... functions)
   ^
secondorderassemblertest-57319f.ii:10:45: error: type 'int' of function
parameter pack does not contain any unexpanded parameter packs
   FunctionTypes... functions)
   ~^
secondorderassemblertest-57319f.ii:14:28: error: expected '}'
double const nu = 0.23;
   ^
secondorderassemblertest-57319f.ii:8:80: note: to match this '{'
: public LocalOperatorAssembler
{
  
^
secondorderassemblertest-57319f.ii:11:9: error: member initializer
'contraction_' does not name a non-static data member or base class
  : contraction_(contraction), isSymmetric_(isSymmetric),
^
secondorderassemblertest-57319f.ii:11:36: error: member initializer
'isSymmetric_' does not name a non-static data member or base class
  : contraction_(contraction), isSymmetric_(isSymmetric),
   ^
secondorderassemblertest-57319f.ii:12:29: error: use of undeclared identifier
'coefficientQuadKey'
coefficientQuadKey_(coefficientQuadKey), functions_(functions...) {
^
#0 0x01c03725 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(PATH/bin/clang-3.8+0x1c03725)
#1 0x01c016e6 llvm::sys::RunSignalHandlers()
(PATH/bin/clang-3.8+0x1c016e6)
#2 0x01c01904 SignalHandler(int) (PATH/bin/clang-3.8+0x1c01904)
#3 0x7fe9bd4458d0 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0xf8d0)
#4 0x02fbd1a0 clang::TagType::getDecl() const
(PATH/bin/clang-3.8+0x2fbd1a0)
#5 0x028320c0
clang::Sema::MarkBaseAndMemberDestructorsReferenced(clang::SourceLocation,
clang::CXXRecordDecl*) (PATH/bin/clang-3.8+0x28320c0)
#6 0x02842cba
clang::Sema::SetCtorInitializers(clang::CXXConstructorDecl*, bool,
llvm::ArrayRef) (PATH/bin/clang-3.8+0x2842cba)
#7 0x028438e9 clang::Sema::ActOnMemInitializers(clang::Decl*,
clang::SourceLocation, llvm::ArrayRef, bool)
(PATH/bin/clang-3.8+0x28438e9)
#8 0x025879dc clang::Parser::ParseConstructorInitializer(clang::Decl*)
(PATH/bin/clang-3.8+0x25879dc)
#9 0x02561b50
clang::Parser::ParseLexedMethodDef(clang::Parser::LexedMethod&)
(PATH/bin/clang-3.8+0x2561b50)
#10 0x0256171e
clang::Parser::ParseLexedMethodDefs(clang::Parser::ParsingClass&)
(PATH/bin/clang-3.8+0x256171e)
#11 0x025906a9
clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation,
clang::SourceLocation, clang::Parser::ParsedAttributesWithRange&, unsigned int,
clang::Decl*) (PATH/bin/clang-3.8+0x25906a9)
#12 0x02591389
clang::Parser::ParseClassSpecifier(clang::tok::TokenKind,
clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo
const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext,
clang::Parser::ParsedAttributesWithRange&) (PATH/bin/clang-3.8+0x2591389)
#13 0x02574fb8
clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&,
clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier,
clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*)
(PATH/bin/clang-3.8+0x2574fb8)
#14 0x025ddf61 clang::Parser::ParseNonTypeTemplateParameter(unsigned
int, unsigned int) (PATH/bin/clang-3.8+0x25ddf61)
#15 0x025e0045 clang::Parser::ParseTemplateParameterList(unsigned int,
llvm::SmallVectorImpl&) (PATH/bin/clang-3.8+0x25e0045)
#16 0x025e022c clang::Parser::ParseTemplateParameters(unsigned int,
llvm::SmallVectorImpl&, clang::SourceLocation&,
clang::SourceLocation&) (PATH/bin/clang-3.8+0x25e022c)
#17 0x025e1ffd
clang::Parser::Pars

[llvm-bugs] [Bug 28550] Tonga Unigine Valley UNREACHABLE executed since AMDGPU: Follow up to r275203

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28550

Matt Arsenault  changed:

   What|Removed |Added

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

--- Comment #8 from Matt Arsenault  ---
Should be fixed by r275510, although there is another unrelated looking
verifier error in the original testcase I am still working on reducing

-- 
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 28562] New: GVN ignores inbounds of getelementptr

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28562

Bug ID: 28562
   Summary: GVN ignores inbounds of getelementptr
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Scalar Optimizations
  Assignee: unassignedb...@nondot.org
  Reporter: kyoo...@gmail.com
CC: david.majne...@gmail.com, dber...@dberlin.org,
listm...@philipreames.com, llvm-bugs@lists.llvm.org,
nunoplo...@sapo.pt, san...@playingwithpointers.com
Classification: Unclassified

GVN ignores the inbounds keyword of getelementptr instructions.

As a consequence, it may replace a GEP instruction without inbounds with
another GEP with inbounds.

Running 'opt -gvn' for the source code below produces the following result:


source:

define i32* @foo(i32* %a) {
  %x1 = getelementptr inbounds i32, i32* %a, i32 10
  %x2 = getelementptr i32, i32* %a, i32 10
  ret i32* %x2
}

result:

define i32* @foo(i32* %a) {
  %x1 = getelementptr inbounds i32, i32* %a, i32 10
  ret i32* %x1
}


I think foo's behavior is changed, since the GEP with inbounds can be a poison
value.

-- 
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 28562] GVN ignores inbounds of getelementptr

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28562

David Majnemer  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Assignee|unassignedb...@nondot.org   |david.majne...@gmail.com

--- Comment #4 from David Majnemer  ---
Fixed in r275532.

-- 
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 28563] New: Incorrect error on operator() being an member in template

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28563

Bug ID: 28563
   Summary: Incorrect error on operator() being an member in
template
   Product: clang
   Version: 3.0
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: C++
  Assignee: unassignedclangb...@nondot.org
  Reporter: tomasz...@gmail.com
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

Following class correctly compiles without any error in Clang 3.0:
struct NonTemplate
{
typedef void type();

type operator(); //Actually declares an member function.
};

However in case of the class template:
template
struct Template
{
typedef T type;

T operator();
};
Followinge error is generated:
error: declaration of 'operator()' as non-function
 T operator();
Despite the fact that Template is identical to NonTemplate.

-- 
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 28564] New: [SeparateConstOffsetFromGEP] split-gep-and-gvn.ll and split-gep-and-gvn-addrspace-addressing-modes.ll tests fail

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28564

Bug ID: 28564
   Summary: [SeparateConstOffsetFromGEP] split-gep-and-gvn.ll and
split-gep-and-gvn-addrspace-addressing-modes.ll tests
fail
   Product: libraries
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: Scalar Optimizations
  Assignee: wujing...@gmail.com
  Reporter: david.majne...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

The logic in andIRFlags/copyIRFlags didn't handle the inbounds attribute, this
caused GVN to miscompile.  With this fixed in r275532, split-gep-and-gvn.ll and
split-gep-and-gvn-addrspace-addressing-modes.ll both fail.  This is likely to a
missing inbounds flag on a GEP which later got CSE'd by GVN.

-- 
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 28565] New: operator std::string has no abi tag

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28565

Bug ID: 28565
   Summary: operator std::string has no abi tag
   Product: clang
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: C++11
  Assignee: unassignedclangb...@nondot.org
  Reporter: alexander.lelya...@googlemail.com
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

-- 
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 28566] New: Assertion `isa(Val) && "cast() argument of incompatible type!"' failed

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28566

Bug ID: 28566
   Summary: Assertion `isa(Val) && "cast() argument of
incompatible type!"' failed
   Product: lld
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: COFF
  Assignee: unassignedb...@nondot.org
  Reporter: compn...@compnerd.org
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 16747
  --> https://llvm.org/bugs/attachment.cgi?id=16747&action=edit
reduced.zip

Since I dont know how to get a reproduction case generated ...

lld -flavor link reduced.obj swiftMSVCRT.lib -out:reduced.exe -verbose
-subsystem:console -entry:mainCRTStartup

The necessary implib is in the attached tarball along with the reduced object
and source for generating it.

The implib was generated using lib via:

lib /arch:x86 /def:swiftMSVCRT.def /out:swiftMSVCRT.lib

The def file is also in the archive.

-- 
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 28567] New: [IPRA] Reg Usage Info Collector too aggressive.

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28567

Bug ID: 28567
   Summary: [IPRA] Reg Usage Info Collector too aggressive.
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Register Allocator
  Assignee: unassignedb...@nondot.org
  Reporter: zyfw...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

 arm.c 

char add(char b)
{
  return b + 1;
}

 arm.ll =
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
target triple = "armv4t--"

; Function Attrs: minsize norecurse nounwind optsize readnone
define arm_aapcscc zeroext i8 @add(i8 zeroext %b) {
entry:
  %conv = zext i8 %b to i32
  %add = add nuw nsw i32 %conv, 1
  %conv1 = trunc i32 %add to i8
  ret i8 %conv1
}

 arm.s =
add:@ @add
.fnstart
@ BB#0: @ %entry
addr0, r0, #1
andr0, r0, #255
bxlr



$ llc -march=arm arm.ll -enable-ipra=true -print-regusage
add Clobbered Registers: R0 R1 R0_R1 

I think it should be:
$ llc -march=arm arm.ll -enable-ipra=true -print-regusage
add Clobbered Registers: R0 R0_R1

-- 
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 28568] New: polly optimizer causes opus tests in ffmpeg to fail

2016-07-14 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28568

Bug ID: 28568
   Summary: polly optimizer causes opus tests in ffmpeg to fail
   Product: Polly
   Version: unspecified
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: Optimizer
  Assignee: polly-...@googlegroups.com
  Reporter: jerem...@apple.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Check out http://fate.ffmpeg.org/?query=os:darwin//&sort=cc

Recent llvm trunk is failing a few tests when ffmpeg is compiled with:
-O3 -polly -polly-vectorizer=stripmine
or
-O3 -polly

Disabling the optimizer causes the tests to pass:
-O3 -polly -polly-optimizer=none

The failing tests are:

opus-testvector01
opus-testvector05
opus-testvector06
opus-testvector07
opus-testvector08
opus-testvector09
opus-testvector10
opus-testvector11
opus-tron.6ch.tinypkts

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