[llvm-bugs] [Bug 31005] inline asm global registers compatibility to gcc+icc

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

Renato Golin  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #8 from Renato Golin  ---
Closing this as wontfix because that's our community's current position.

If anyone wants to change this position they'll have to:

1. Create a downstream prototype where registers can be allocated and
deallocated by the user on a function and module scope without destroying the
register allocators (plural) job.

2. Send an RFC to the list, with the design decisions taken to make that work,
and work with the community to adapt your downstream implementation to work
that way.

3. After addressing all the community's feedback, send a list of small and
incremental patches, implementing the functionality with enough tests to cover
each step, and making sure none of them break the build on their own, ie.
isolated and working changes.

4. Work with the community to push the patches upstream, address reviews, etc.

As it stands, the community doesn't need, nor want, arbitrary global named
registers, so don't expect people to implement that for you. We have
successfully convinced users to change their code, and most of the time to
better code, proving that this feature is not needed at all.

If it is needed for you, and you can show that to the community, you'll have to
go through the proper upstreaming process described above.

-- 
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 16877] Global register variable support

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

Renato Golin  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||renato.go...@linaro.org
 Resolution|--- |WONTFIX

--- Comment #2 from Renato Golin  ---
See Bug #31005

-- 
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 24369] fatal error: error in backend: Invalid register name "r8"

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

Renato Golin  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||renato.go...@linaro.org
 Resolution|--- |DUPLICATE

--- Comment #3 from Renato Golin  ---


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

-- 
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 16877] Global register variable support

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

Renato Golin  changed:

   What|Removed |Added

 Resolution|WONTFIX |DUPLICATE

--- Comment #3 from Renato Golin  ---


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

-- 
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 25899] Loads and Stores are not always coalesced

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

Simon Pilgrim  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||apilipe...@azulsystems.com,
   ||llvm-...@redking.me.uk
 Resolution|--- |FIXED

--- Comment #1 from Simon Pilgrim  ---
Fixed in rL289538

-- 
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 17603] x86: optimize byte+shift load to unaligned load

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

Simon Pilgrim  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||apilipe...@azulsystems.com,
   ||llvm-...@redking.me.uk
 Resolution|--- |FIXED

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

-- 
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 31369] New: Register allocator uses reserved register on MIPS

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

Bug ID: 31369
   Summary: Register allocator uses reserved register on MIPS
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: simon.dar...@imgtec.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 17752
  --> https://llvm.org/bugs/attachment.cgi?id=17752&action=edit
Reproduction case as test.

The issue demonstrated in the attached test case is the use of a reserved
single precision floating point register. One of MIPS' floating point ABIs
requires that the odd single precision registers are not used.

>From the test case (lines 17-21):
  %5 = load float, float * @f1
  %6 = insertelement <4 x float> undef,float %5, i32 0
  %7 = insertelement <4 x float> %6,float %5, i32 1
  %8 = insertelement <4 x float> %7,float %5, i32 2
  %9 = insertelement <4 x float> %8,float %5, i32 3


After the processing of implicit defs:

..
96B %vreg4 = LWC1 %vreg3, [TF=5];
mem:LD4[@f1](dereferenceable) FGR32:%vreg4 GPR32:%vreg3
112B%vreg12:sub_lo = COPY %vreg4;
MSA128W:%vreg12 FGR32:%vreg4
128B%vreg5 = SPLATI_W %vreg12, 0; MSA128W:%vreg5,%vreg12
..

This code is correct as FGR32 has the correct reserved registers.

After the joining live intervals:

..
96B %vreg12:sub_lo = LWC1 %vreg3, [TF=5];
mem:LD4[@f1](dereferenceable) MSA128B:%vreg12 GPR32:%vreg3
128B%vreg5 = SPLATI_W %vreg12, 0; MSA128W:%vreg5
MSA128B:%vreg12
..

Here, the copy has been coalesced into the load which is using the sub_lo of a
register in the MSA128B class.

The greedy register allocator then bases the allocation choice on the MSA128B
register class and picks an odd MSA register %W1 and uses the corresponding
single precision subregister $F1:

..
selectOrSplit MSA128B:%vreg12 [96r,128r:0)  0@96r w=INF
assigning %vreg12 to %W1: F1 [96r,128r:0)  0@96r F_HI1 [96r,128r:0)  0@96r
..


If the output is emitted directly as an object file, it silently succeeds.
Passing the resulting assembly to external assembler results in a bad code.

-- 
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 31370] New: Assertion failed: "Cannot get layout of forward declarations!"

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

Bug ID: 31370
   Summary: Assertion failed: "Cannot get layout of forward
declarations!"
   Product: clang
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: Frontend
  Assignee: unassignedclangb...@nondot.org
  Reporter: tras...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY RUNTIME_FUNCTION,
PRUNTIME_FUNCTION;
PRUNTIME_FUNCTION
RtlLookupFunctionEntry(
);


$ clang.exe -cc1 -v -triple x86_64-pc-windows-msvc19.0.0 -emit-llvm test.cpp
clang -cc1 version 4.0.0 based upon LLVM 4.0.0svn-r289649 default target
x86_64-pc-windows-msvc
#include "..." search starts here:
End of search list.
Assertion failed: D && "Cannot get layout of forward declarations!", file
..\tools\clang\lib\AST\RecordLayoutBuilder.cpp, line 2933
0x000141643824 (0x0008 0x 0x00151470
0x), clang::ASTContext::getASTRecordLayout() + 0x84 bytes(s),
tools\clang\lib\ast\recordlayoutbuilder.cpp, line 2934
0x0001415F65B5 (0x001518C8 0x00163430 0x0008
0x), clang::ASTContext::getTypeInfoImpl() + 0x805 bytes(s),
tools\clang\lib\ast\astcontext.cpp, line 1865
0x0001415F5B80 (0x00165870 0x 0x0015C580
0x0015C4E8), clang::ASTContext::getTypeInfo() + 0xB0 bytes(s),
tools\clang\lib\ast\astcontext.cpp, line 1604
0x0001415F5874 (0x0015C580 0x00B2C8F0 0x0015C4E8
0x00146C98), clang::ASTContext::getTypeAlignInChars() + 0x34 bytes(s),
tools\clang\lib\ast\astcontext.cpp, line 1977 + 0x15 byte(s)
0x000140425B5C (0x 0x02A89FD0 0x00147DD0
0x), `anonymous
namespace'::MicrosoftCXXABI::classifyReturnType() + 0xAC bytes(s),
tools\clang\lib\codegen\microsoftcxxabi.cpp,
line 1101
0x000140395CD7 (0x 0x00B2C9A8 0x00B2C830
0x), `anonymous namespace'::WinX86_64ABIInfo::computeInfo() +
0x57 bytes(s), tools\clang\lib\codegen\targetinfo.cpp, line 3771 + 0xA byte(s)
0x000140376B0F (0x0015C580 0x0015C580 0x00B2C900
0x0015C6F0), clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo() +
0x2FF bytes(s), tools\clang\lib\codegen\cgcall.cpp, line 711
0x0001403767D2 (0x0015C6F0 0x00010001 0x
0x0015C6F0), arrangeLLVMFunctionInfo() + 0x252 bytes(s),
tools\clang\lib\codegen\cgcall.cpp, line 153 + 0x8A byte(s)
0x000140375FAE (0x0015C6F0 0x0015C6F0 0x0134
0x0066), clang::CodeGen::CodeGenTypes::arrangeFreeFunctionType() +
0x3E bytes(s), tools\clang\lib\codegen\cgcall.cpp, line 165 + 0x5 byte(s)
0x0001403763E4 (0x00164778 0x0001 0x0015C6F0
0x), clang::CodeGen::CodeGenTypes::arrangeFunctionDeclaration()
+ 0x404 bytes(s), tools\clang\lib\codegen\cgcall.cpp, line 404 + 0x53 byte(s)
0x00014037656F (0x0001 0x02A89FD0 0x02A89FD0
0x02A89FD0), clang::CodeGen::CodeGenTypes::arrangeGlobalDeclaration() +
0x15F bytes(s), tools\clang\lib\codegen\cgcall.cpp, line 471 + 0xB byte(s)
0x000140310290 (0x0001 0x02A89FD0 0x
0x00B2D268), clang::CodeGen::CodeGenModule::EmitGlobal() + 0x260
bytes(s), tools\clang\lib\codegen\codegenmodule.cpp, line 1600
0x000140312F94 (0x0001 0x02A89FD0 0x02A89FD0
0x000140C9C8C0), clang::CodeGen::CodeGenModule::EmitTopLevelDecl() + 0xE4
bytes(s), tools\clang\lib\codegen\codegenmodule.cpp, line 3679
0x00014195EC5F (0x02A89FD0 0x02A89FD0 0x00B0
0x), `anonymous
namespace'::CodeGeneratorImpl::HandleTopLevelDecl() + 0x12F bytes(s),
tools\clang\lib\codegen\modulebuilder.cpp, line 148 + 0xF byte(s)
0x00014195CA85 (0x00163DB0 0x02A89FD0 0x
0x0016DF20), clang::BackendConsumer::HandleTopLevelDecl() + 0xF5
bytes(s), tools\clang\lib\codegen\codegenaction.cpp, line 133
0x000140C956B6 (0x00B2E300 0x 0x000F8370
0x02A89FD0), clang::ParseAST()

-- 
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 31371] New: crash handler does not find pdb when built with /PDBALTPATH:%_PDB%

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

Bug ID: 31371
   Summary: crash handler does not find pdb when built with
/PDBALTPATH:%_PDB%
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: Support Libraries
  Assignee: unassignedb...@nondot.org
  Reporter: tras...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

When clang is built with /PDBALTPATH:%_PDB% a relative pdb path is inserted
into the executable (i.e. just "clang.pdb").

Then it only prints:

Assertion failed: 
Wrote crash dump file ".dmp"
#0 0x000140b30d95 (clang.exe+0xb90d95)
#1 0x0001421d547e (clang.exe+0x223547e)
...

No stacktrace like without the option:

0x000140148A75 (0x000142573720 0x00B2BAF4 0x00B2B898
0x0001417F2C7B), HandleAbort() + 0x5 bytes(s),
lib\support\windows\signals.inc, line 404
0x0001417F301E (0x00B2BD01 0x0001 0x0001
0x), raise() + 0x25E bytes(s),
d:\th\minkernel\crts\ucrt\src\appcrt\misc\signal.cpp, line 516 + 0x5 byte(s)
0x0001417E038C (0x0007 0x00B2BF01 0x0001422DECD0
0x0001422B3730), abort() + 0x18 bytes(s),
d:\th\minkernel\crts\ucrt\src\appcrt\startup\abort.cpp, line 71
0x0001417DFDF4 (0x 0x 0x
0x76F20996), common_assert_to_stderr() + 0xC8 bytes(s),
d:\th\minkernel\crts\ucrt\src\appcrt\startup\assert.cpp, line 138 + 0x84
byte(s)
0x0001417DFF16 (0x0015C4E8 0x00B2BF30 0x00151470
0x), _wassert() + 0x72 bytes(s),
d:\th\minkernel\crts\ucrt\src\appcrt\startup\assert.cpp, line 404 + 0x13
byte(s)

..

-- 
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 30945] [AVX512] Failure to flip vector comparison to remove not mask instruction

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

michael  changed:

   What|Removed |Added

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

--- Comment #2 from michael  ---
fix in revision 289653

-- 
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 31372] New: llvm-lib (and `lld-link /lib`) should error out on cl.exe LTCG obj files

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

Bug ID: 31372
   Summary: llvm-lib (and `lld-link /lib`) should error out on
cl.exe LTCG obj files
   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

In https://crbug.com/672229 we accidentally built some of our object files with
cl.exe /GL (which activates their link-time codegen, so .obj files are some
kind of IR, not a real .obj file).

C:\src\llvm-build-2015-mt>type a.cc
void f();
int main() {
  f();
}

C:\src\llvm-build-2015-mt>type b.cc
void f() {
}

C:\src\llvm-build-2015-mt>bin\clang-cl.exe /c a.cc

C:\src\llvm-build-2015-mt>cl /c b.cc /GL /nologo
b.cc

In general, lld-link copes well with this:


C:\src\llvm-build-2015-mt>bin\lld-link.exe a.obj b.obj
error: b.obj: is not a native COFF file. Recompile without /GL


C:\src\llvm-build-2015-mt>lib /out:blib.lib b.obj /nologo /ltcg

C:\src\llvm-build-2015-mt>bin\lld-link.exe a.obj blib.lib
error: unknown file type: blib.lib



However, llvm-lib silently produces an empty lib file, which then leads to
confusing error messages with both lld-link.exe and link.exe:


C:\src\llvm-build-2015-mt>lld-link.exe /lib b.obj /out:blib2.lib

C:\src\llvm-build-2015-mt>bin\lld-link.exe a.obj blib2.lib
a.obj: undefined symbol: ?f@@YAXXZ
error: link failed

C:\src\llvm-build-2015-mt>link.exe a.obj blib2.lib /nologo
blib2.lib : warning LNK4003: invalid library format; library ignored
a.obj : error LNK2019: unresolved external symbol "void __cdecl f(void)"
(?f@@YAXXZ) referenced in function main
a.exe : fatal error LNK1120: 1 unresolved externals



llvm-lib should print some error and fail when fed LTCG'd obj files instead of
silently doing the wrong thing.

-- 
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 31216] spill inserted in between the marker and the _objc_retainAutoreleasedReturnValue

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

Saleem Abdulrasool  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |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 31366] Assertion `isa(Val) && "cast() argument of incompatible type!"' failed.

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

Nico Weber  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||nicolaswe...@gmx.de
 Resolution|--- |FIXED

--- Comment #3 from Nico Weber  ---
r289678 apparently

-- 
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 31373] New: -Wunused-variable does not detect unused condition variable

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

Bug ID: 31373
   Summary: -Wunused-variable does not detect unused condition
variable
   Product: clang
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Frontend
  Assignee: unassignedclangb...@nondot.org
  Reporter: richard-l...@metafoo.co.uk
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

-Wunused-variable does not warn on this case:

bool f();
void g() {
  if (bool b = f()) {
// ...
  }
}

GCC's version of the warning does. Presumably we're marking the variable as
'used' in the condition handling code; while that's technically correct, it
doesn't lead to the right outcome here.

-- 
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 28286] gcc POWER include headers- e.g. ppc-asm.h to be in clang

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

Eric Christopher  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #4 from Eric Christopher  ---
Since this is a non-standard header I'm going to mark this as wontfix.

-- 
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 31374] New: Regression(likely r289252): Assertion failed: (T->getAs() && "Invalid type"), function isPointerZeroInitializable when building chrome code

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

Bug ID: 31374
   Summary: Regression(likely r289252): Assertion failed:
(T->getAs() && "Invalid type"), function
isPointerZeroInitializable when building chrome code
   Product: clang
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Formatter
  Assignee: unassignedclangb...@nondot.org
  Reporter: nicolaswe...@gmx.de
CC: djas...@google.com, kli...@google.com,
llvm-bugs@lists.llvm.org
Classification: Unclassified

Seeing this on a chromium bot:

FAILED: .../gtm_session_fetcher/gtm_session_fetcher/GTMSessionFetcher.o 
/b/build/slave/cache/cipd/goma/gomacc
../../third_party/llvm-build/Release+Asserts/bin/clang -MMD -MF
...GTMSessionFetcher.o.d -DV8_DEPRECATION_WARNINGS -DNO_TCMALLOC -DDISABLE_NACL
-DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=289575-1
-DCR_XCODE_VERSION=0810 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1
-DWTF_USE_DYNAMIC_ANNOTATIONS=1 -I../../gtm_session_fetcher/Source
-fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector
-fcolor-diagnostics -arch x86_64 -O0 -gdwarf-2 -isysroot
/b/build/slave/trunk-autoroller/build/src/build/mac_files/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk
-stdlib=libc++ -mios-simulator-version-min=9.0 -fvisibility=hidden
-Wheader-hygiene -Wstring-conversion -Werror -Wall -Wno-unused-variable
-Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing
-Wno-covered-switch-default -Wno-deprecated-register
-Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override
-Wno-shift-negative-value -Wno-undefined-var-template
-Wno-nonportable-include-path -Wno-address-of-packed-member -std=c99 -fobjc-arc
-Wno-error=deprecated-declarations -c
../../gtm_session_fetcher/Source/GTMSessionFetcher.m -o
gtm_session_fetcher/GTMSessionFetcher.o
Assertion failed: (T->getAs() && "Invalid type"), function
isPointerZeroInitializable, file
/b/build/slave/mac_upload_clang/build/src/third_party/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp,
line 740.
0  clang0x00010570dbd6
llvm::sys::PrintStackTraceOnErrorSignal(llvm::StringRef, bool) + 950
1  libsystem_platform.dylib 0x7fff9d49f52a _sigtramp + 26
Stack dump:
../..gtm_session_fetcher/Source/GTMSessionFetcher.m 
1.../../gtm_session_fetcher/Source/GTMSessionFetcher.m:3866:1: current
parser token '@'
2.../../gtm_session_fetcher/Source/GTMSessionFetcher.m:192:1: LLVM IR
generation of declaration 'GTMSessionFetcher::load'
clang: error: unable to execute command: Abort trap: 6
clang: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 4.0.0 (trunk 289575)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir:
/b/build/slave/trunk-autoroller/build/src/out/Debug-iphonesimulator/../../third_party/llvm-build/Release+Asserts/bin
clang: 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: 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 31375] New: segmentation fault on build

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

Bug ID: 31375
   Summary: segmentation fault on build
   Product: clang
   Version: trunk
  Hardware: Macintosh
OS: MacOS X
Status: NEW
  Severity: normal
  Priority: P
 Component: Frontend
  Assignee: unassignedclangb...@nondot.org
  Reporter: vbeff...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 17753
  --> https://llvm.org/bugs/attachment.cgi?id=17753&action=edit
preprocesses file, shell script and stack trace as instructed

I get a segfault when building the attached file.

Line 430124 in the cpp file, replacing {{T(1)}} with {T(1)} makes it compile
fine.

-- 
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 31016] r286884 breaks the build when compiling with an older clang

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

Eric Fiselier  changed:

   What|Removed |Added

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

--- Comment #3 from Eric Fiselier  ---
Re-committed in r289708. The failing test was XFAIL'ed with Clang-3.7 since
that is the last Clang release to show the behavior mentioned in this bug
report.

@Vedant please do not revert this again due to that failing test. If you need
the test marked as XFAIL for your clang version please email or PM me. I know
you said your Clang reported as 3.8 but I can't XFAIL this test for 3.8 because
actual 3.8 clang works.

-- 
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 23841] uses-allocator construction for std::pair broken

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

Eric Fiselier  changed:

   What|Removed |Added

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

--- Comment #7 from Eric Fiselier  ---
Fixed in r289710 (Clang 4.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 24075] scoped_allocator_adaptor lacks the std::pair construct() overloads!

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

Eric Fiselier  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||e...@efcs.ca
 Resolution|--- |FIXED
   Assignee|mclow.li...@gmail.com   |e...@efcs.ca

--- Comment #2 from Eric Fiselier  ---
Fixed in r289710 (Clang 4.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 31376] New: Segmentation fault at _tree:1098 with -O2 in Mac OS X clang++

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

Bug ID: 31376
   Summary: Segmentation fault at _tree:1098 with -O2 in Mac OS X
clang++
   Product: libc++
   Version: 3.7
  Hardware: Macintosh
OS: MacOS X
Status: NEW
  Severity: normal
  Priority: P
 Component: All Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: i...@yoichihirai.com
CC: llvm-bugs@lists.llvm.org, mclow.li...@gmail.com
Classification: Unclassified

When I assign a temporary std::map object into an already existing
map, the executable compiled with -O2 causes a segmentation fault.  The same
problem happens with std::map.  Here u256 denotes a class in
boost::multiprecision.


The OS and the compiler versions:

$ uname -a
Darwin Yoichis-Air.local 15.6.0 Darwin Kernel Version 15.6.0: Thu Sep  1
15:01:16 PDT 2016; root:xnu-3248.60.11~2/RELEASE_X86_64 x86_64
$ clang++ --version
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin


The program that causes the problem:

$ cat main.cpp
#include 
#include 
#include 

int main()
{
using namespace::std;

using u256 = 
boost::multiprecision::number>;

map k = {{1, 131264}};
k = {};

cout << "passed" << endl << flush;

return 0;
}

I can observe a segmentation fault with -O2.

$ clang++ -O2 -std=c++11 -stdlib=libc++ main.cpp && ./a.out
Segmentation fault: 11
$ clang++ -O1 -std=c++11 -stdlib=libc++ main.cpp && ./a.out
passed
$ clang++ -O3 -std=c++11 -stdlib=libc++ main.cpp && ./a.out
passed

When I add debugging information and try valgrind, it says the access happens
in __tree:1098.

$ clang++ -g -O2 -std=c++11 -stdlib=libc++ main.cpp
$ valgrind ./a.out

==23530== Process terminating with default action of signal 11 (SIGSEGV)
==23530==  General Protection Fault
==23530==at 0x11788: void
std::__1::__tree,
(boost::multiprecision::expression_template_option)0>, int>,
std::__1::__map_value_compare,
(boost::multiprecision::expression_template_option)0>,
std::__1::__value_type,
(boost::multiprecision::expression_template_option)0>, int>,
std::__1::less,
(boost::multiprecision::expression_template_option)0> >, true>,
std::__1::allocator,
(boost::multiprecision::expression_template_option)0>, int> >
>::__assign_unique,
(boost::multiprecision::expression_template_option)0> const, int>
const*>(std::__1::pair,
(boost::multiprecision::expression_template_option)0> const, int> const*,
std::__1::pair,
(boost::multiprecision::expression_template_option)0> const, int> const*)
(__tree:1098)
==23530==by 0x110F3: main (map:986)

The libc++ version is 3.7 when I see _LIBCPP_VERSION.
The Boost version is 1.62.00 when I see BOOST_VERSION.

The same problem can still be observed with the key and the value types
swapped.

$ cat variant.cpp
#include 
#include 
#include 

int main()
{
using namespace::std;

using u256 = 
boost::multiprecision::number>;

map k = {{1, 131264}};
k = {};

cout << "passed" << endl << flush;

return 0;
}
$ clang++ -O1 -std=c++11 -stdlib=libc++ variant.cpp && ./a.out
passed
$ clang++ -O2 -std=c++11 -stdlib=libc++ variant.cpp && ./a.out
Segmentation fault: 11
$ clang++ -O3 -std=c++11 -stdlib=libc++ variant.cpp && ./a.out
Segmentation fault: 11

Valgrind points to the same line for these cases as well.

-- 
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 30736] LLVM fails to load DIA from VS 2015 on clang-x64-ninja-win7 bot

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

Reid Kleckner  changed:

   What|Removed |Added

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

--- Comment #1 from Reid Kleckner  ---
The bot has DIA now.

-- 
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 30586] Clang-cl Friend class error: elaborated type refers to a type alias

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

Reid Kleckner  changed:

   What|Removed |Added

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

--- Comment #4 from Reid Kleckner  ---
r289259 should make the diagnostic better here.

-- 
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 31123] [LTO] Reject modules without a datalayout

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

Davide Italiano  changed:

   What|Removed |Added

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

--- Comment #2 from Davide Italiano  ---
r289719

-- 
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 24344] Objective-C++ to C++ Rewriter produces ill-formed C++11 code

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

Paul Robinson  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||paul_robinson@playstation.s
   ||ony.com
 Resolution|--- |FIXED

--- Comment #2 from Paul Robinson  ---
Some tests just compile Objective-C++, some (especially Rewriter)
compile both Objective-C++ and regular C++.
In r289167, I made the tests with regular C++ compilations explicitly
specify -std=gnu++98, so they will be insensitive to future changes
in the default C++ dialect.

I don't think anybody is interested in making Objective-C++ compatible
with C++11, going forward.  If they are, that's fine; the point of my
change is to get us closer to being able to change the C++ default.

-- 
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 31370] Assertion failed: "Cannot get layout of forward declarations!"

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

Trass3r  changed:

   What|Removed |Added

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

--- Comment #2 from Trass3r  ---
True, sorry something must have gone wrong during conflict resolution.
The repo wasn't clean. Works now.

-- 
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 31376] Segmentation fault at _tree:1098 with -O2 in Mac OS X clang++

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

Eric Fiselier  changed:

   What|Removed |Added

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

--- Comment #2 from Eric Fiselier  ---
OK. So I managed to get the second example segfaulting on Linux at -O2, but
only after reverting r276003 which fixes UB in <__tree>.

Closing this as a duplicate of "Undefined behavior in __tree", which has been
fixed for a couple of releases now.

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

-- 
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 26299] [meta][X86] Size optimization opportunities (in particular for 32-bit Chromium on Windows)

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

Bug 26299 depends on bug 26302, which changed state.

Bug 26302 Summary: [x86] Tail call with conditional jumps
https://llvm.org/bugs/show_bug.cgi?id=26302

   What|Removed |Added

 Status|RESOLVED|REOPENED
 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 26302] [x86] Tail call with conditional jumps

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

Hans Wennborg  changed:

   What|Removed |Added

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

--- Comment #2 from Hans Wennborg  ---
(In reply to comment #1)
> r280832, r281113, r282920 for x86, x86_64 and win64, respectively.

The X64 part got reverted in r283329 due to miscompling Chromium.

-- 
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 31377] New: [ppc] unnecessary zero extension / clear left instruction

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

Bug ID: 31377
   Summary: [ppc] unnecessary zero extension / clear left
instruction
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: PowerPC
  Assignee: unassignedb...@nondot.org
  Reporter: car...@google.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Compile the following code with options -m64 -O2 -mvsx -mcpu=power8

typedef unsigned long long uint64;

void foo(unsigned char* p, uint64* pval) {
  uint64 code = *p; 
  if (code < 128) {
*pval = code;
  }   
}

LLVM generates:

foo:# @foo
.Lfunc_begin0:
# BB#0: # %entry
lbz 3, 0(3)// A
extsb. 3, 3// B
bltlr 0
# BB#1: # %if.then
clrldi   3, 3, 56  // C
std 3, 0(4)
blr


Instruction A load a byte from *p and zero extends it, instruction B sign
extends it and set cr accordingly, instruction C clears high bits, the result
should be exactly the result of instruction A.
So if instruction B write the result to a different register, or use cmpli
directly, instruction C can be removed.

-- 
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 31372] llvm-lib (and `lld-link /lib`) should error out on cl.exe LTCG obj files

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

Peter Collingbourne  changed:

   What|Removed |Added

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

--- Comment #7 from Peter Collingbourne  ---
r289726.

-- 
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 17550] tuple::operator=(derived_from_tuple)

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

Eric Fiselier  changed:

   What|Removed |Added

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

--- Comment #5 from Eric Fiselier  ---
Fixed in r289727 (Clang 4.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 31378] New: list::remove should not require allocator to have default constructor

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

Bug ID: 31378
   Summary: list::remove should not require allocator to have
default constructor
   Product: libc++
   Version: unspecified
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: All Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: luk...@ca.ibm.com
CC: llvm-bugs@lists.llvm.org, mclow.li...@gmail.com
Classification: Unclassified

The current libc++ implementation of `std::list::remove` uses the default
constructor of `std::list`:

> list<_Tp, _Alloc> __deleted_nodes; // collect the nodes we're removing

This subsequently calls the default constructor of `_Alloc`. However, reading
through section 17.6.3.5 ("Allocator requirements") of the C++11 standard
draft, it appears allocators are not required to be DefaultConstructable.

I believe the constructor of `__deleted_nodes` should simply be given the
allocator instance of the existing list:

> list<_Tp, _Alloc> __deleted_nodes(get_allocator()); // collect the nodes 
> we're removing

-- 
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 31321] Halide would like to set the .maxnreg directive per PTX kernel.

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

Justin Lebar (:jlebar)  changed:

   What|Removed |Added

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

--- Comment #2 from Justin Lebar (:jlebar)  ---
Landed in r289729.

-- 
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 31379] New: error: instantiation of function required here, but no definition is available

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

Bug ID: 31379
   Summary: error: instantiation of function required here, but no
definition is available
   Product: clang
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: -New Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: jda...@redhat.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 17755
  --> https://llvm.org/bugs/attachment.cgi?id=17755&action=edit
Reproducer file message.ii

I encountered the following error when building Apache Qpid Proton C++ binding
with latest clang 4.0 snapshot (from the apt repo)

I obtained the source in the following way
git clone https://github.com/apache/qpid-proton.git
mkdir /qpid-proton/build
cd /qpid-proton/build
CC=clang-4.0 CXX=clang++-4.0 cmake -DCMAKE_BUILD_TYPE=Debug ..
VERBOSE=1 make

The erroring command was

cd /qpid-proton/build/proton-c/bindings/cpp && /usr/bin/clang++-4.0
-Dqpid_proton_cpp_EXPORTS -g -fPIC -I/qpid-proton/build/proton-c/src
-I/qpid-proton/build/proton-c/include -I/qpid-proton/proton-c/src
-I/qpid-proton/proton-c/include -I/qpid-proton/proton-c/bindings/cpp/include
-I/qpid-proton/proton-c/bindings/cpp/src/include -Werror -pedantic -Weverything
-Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-float-equal -Wno-padded
-Wno-sign-conversion -Wno-switch-enum -Wno-weak-vtables
-Wno-exit-time-destructors -Wno-global-constructors -Wno-shorten-64-to-32
-Wno-documentation -Wno-documentation-unknown-command -Wno-old-style-cast
-Wno-missing-noreturn -o CMakeFiles/qpid-proton-cpp.dir/src/message.cpp.o -c
/qpid-proton/proton-c/bindings/cpp/src/message.cpp
In file included from /qpid-proton/proton-c/bindings/cpp/src/message.cpp:25:
/qpid-proton/proton-c/bindings/cpp/include/proton/message.hpp:51:11: error:
instantiation of function
'proton::internal::cached_map,
proton::scalar>::cached_map' required here, but no definition is
available [-Werror,-Wundefined-func-template]
class property_map : public internal::cached_map {};
^
/qpid-proton/proton-c/bindings/cpp/include/proton/./internal/cached_map.hpp:59:19:
note: forward declaration of template entity is here
PN_CPP_EXTERN cached_map();
^
1 error generated.

I reported this to Qpid Proton issue tracker, and got feedback that code looks
fine and it could be a compiller bug.
https://issues.apache.org/jira/browse/PROTON-1375?focusedCommentId=15749247#comment-15749247

I've followed the GCC bug reporting guide https://gcc.gnu.org/bugs/ and ran the
above command with -save-temps

cd /qpid-proton/build/proton-c/bindings/cpp && /usr/bin/clang++-4.0
-Dqpid_proton_cpp_EXPORTS -g -fPIC -I/qpid-proton/build/proton-c/src
-I/qpid-proton/build/proton-c/include -I/qpid-proton/proton-c/src
-I/qpid-proton/proton-c/include -I/qpid-proton/proton-c/bindings/cpp/include
-I/qpid-proton/proton-c/bindings/cpp/src/include -Werror -pedantic -Weverything
-Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-float-equal -Wno-padded
-Wno-sign-conversion -Wno-switch-enum -Wno-weak-vtables
-Wno-exit-time-destructors -Wno-global-constructors -Wno-shorten-64-to-32
-Wno-documentation -Wno-documentation-unknown-command -Wno-old-style-cast
-Wno-missing-noreturn -o CMakeFiles/qpid-proton-cpp.dir/src/message.cpp.o -c
/qpid-proton/proton-c/bindings/cpp/src/message.cpp -save-temps

which created a single file reproducer message.ii, and I modified the clang
command to use message.ii, and this still fails, so I have a single file
reproducer

/usr/bin/clang++-4.0 -Dqpid_proton_cpp_EXPORTS -g -fPIC -Werror -pedantic
-Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-float-equal
-Wno-padded -Wno-sign-conversion -Wno-switch-enum -Wno-weak-vtables
-Wno-exit-time-destructors -Wno-global-constructors -Wno-shorten-64-to-32
-Wno-documentation -Wno-documentation-unknown-command -Wno-old-style-cast
-Wno-missing-noreturn message.ii

If I do the compilation with clang 3.9, I get the same error. If I compile
message.ii with gcc 5.4 (leaving out -Weverything parameter) the compilation
succeeds.

This message.ii file is attached. Thank you for looking into this.

-- 
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 31378] list::remove should not require allocator to have default constructor

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

Eric Fiselier  changed:

   What|Removed |Added

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

--- Comment #2 from Eric Fiselier  ---
Fixed in r289735 (Clang 4.0). Thanks for the bug report.

-- 
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 31175] [AArch64] unnecessary cmp instruction with subtract and conditional select

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

Sanjay Patel  changed:

   What|Removed |Added

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

--- Comment #7 from Sanjay Patel  ---
Should be fixed after:
https://reviews.llvm.org/rL289738

This solves the only problem I've seen when trying to canonicalize the min/max
IR pattern:
define i32 @max(i32 %x, i32 %y) {
  %sub = sub nsw i32 %x, %y
  %cmp = icmp sgt i32 %x, %y
  %sel = select i1 %cmp, i32 %sub, i32 0
  ret i32 %sel
}

to:
define i32 @max(i32 %x, i32 %y) {
  %sub = sub nsw i32 %x, %y
  %cmp = icmp sgt i32 %sub, 0
  %sel = select i1 %cmp, i32 %sub, i32 0
  ret i32 %sel
}

-- 
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 31380] New: JIT notifiers called before relocations performed (and pages marked executable)

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

Bug ID: 31380
   Summary: JIT notifiers called before relocations performed (and
pages marked executable)
   Product: libraries
   Version: trunk
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: MCJIT
  Assignee: unassignedb...@nondot.org
  Reporter: and...@anarazel.de
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Hi,

Currently the jit notifier's NotifyObjectEmitted() is called by
MCJIT::generateCodeForModule(). That's too early, because relocations haven't
been performed (making the code debuggers/profiling tools see wrong) and
because the page hasn't yet been marked executable (bad, because some profiling
tools don't work in that case).

It seems to me that generateCodeForModule() should put all notifications into a
queue of pending notifications which then is emitted in
finalizeLoadedModules(), after Dyld.resolveRelocations() and
MemMgr->finalizeMemory().

Are there reasons for the current placement that I missed, or is this just an
omission? In the latter case I'll happily provide a patch fixing this.

Regards,

Andres

-- 
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 31381] New: clang crashes on valid code at -Os and -O2 (only) with -g on x86_64-linux-gnu in 32-bit mode: running pass 'X86 Assembly Printer'

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

Bug ID: 31381
   Summary: clang crashes on valid code at -Os and -O2 (only) with
-g on x86_64-linux-gnu in 32-bit mode: running pass
'X86 Assembly Printer'
   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

$ clang -v
clang version 4.0.0 (trunk 289524)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-trunk/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.4
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.4
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.2.0
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 -m32 -Os -w small.c
$ clang -m64 -Os -g -w small.c
$
$ clang -m32 -Os -g -w small.c
clang-4.0:
/tmp/llvm-builder/llvm-source-trunk/lib/CodeGen/AsmPrinter/DwarfExpression.cpp:290:
void llvm::DwarfExpression::addFragmentOffset(const llvm::DIExpression*):
Assertion `FragmentOffset >= OffsetInBits && "overlapping or duplicate
fragments"' failed.
#0 0x01f3d795 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/usr/local/clang-trunk/bin/clang-4.0+0x1f3d795)
#1 0x01f3b87e llvm::sys::RunSignalHandlers()
(/usr/local/clang-trunk/bin/clang-4.0+0x1f3b87e)
#2 0x01f3b9e0 SignalHandler(int)
(/usr/local/clang-trunk/bin/clang-4.0+0x1f3b9e0)
#3 0x7f4f59ccd330 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x10330)
#4 0x7f4f58ab9c37 gsignal
/build/eglibc-oGUzwX/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#5 0x7f4f58abd028 abort
/build/eglibc-oGUzwX/eglibc-2.19/stdlib/abort.c:91:0
#6 0x7f4f58ab2bf6 __assert_fail_base
/build/eglibc-oGUzwX/eglibc-2.19/assert/assert.c:92:0
#7 0x7f4f58ab2ca2 (/lib/x86_64-linux-gnu/libc.so.6+0x2fca2)
#8 0x024e7679 (/usr/local/clang-trunk/bin/clang-4.0+0x24e7679)
#9 0x025285d7
llvm::DwarfCompileUnit::constructVariableDIEImpl(llvm::DbgVariable const&,
bool) (/usr/local/clang-trunk/bin/clang-4.0+0x25285d7)
#10 0x0252886c
llvm::DwarfCompileUnit::constructVariableDIE(llvm::DbgVariable&, bool)
(/usr/local/clang-trunk/bin/clang-4.0+0x252886c)
#11 0x02528893
llvm::DwarfCompileUnit::constructVariableDIE(llvm::DbgVariable&,
llvm::LexicalScope const&, llvm::DIE*&)
(/usr/local/clang-trunk/bin/clang-4.0+0x2528893)
#12 0x0252d102
llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl&, unsigned int*)
(/usr/local/clang-trunk/bin/clang-4.0+0x252d102)
#13 0x0252cb3b
llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl&)
(/usr/local/clang-trunk/bin/clang-4.0+0x252cb3b)
#14 0x0252d173
llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl&, unsigned int*)
(/usr/local/clang-trunk/bin/clang-4.0+0x252d173)
#15 0x0252cb3b
llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl&)
(/usr/local/clang-trunk/bin/clang-4.0+0x252cb3b)
#16 0x0252d173
llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl&, unsigned int*)
(/usr/local/clang-trunk/bin/clang-4.0+0x252d173)
#17 0x0252cc23
llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl&)
(/usr/local/clang-trunk/bin/clang-4.0+0x252cc23)
#18 0x0252d173
llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl&, unsigned int*)
(/usr/local/clang-trunk/bin/clang-4.0

[llvm-bugs] [Bug 31382] New: r289696 regressed TSan runtime library codegen

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

Bug ID: 31382
   Summary: r289696 regressed TSan runtime library codegen
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Interprocedural Optimizations
  Assignee: unassignedb...@nondot.org
  Reporter: eugeni.stepa...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

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

http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-autoconf/builds/2442

with r289696 one particularly hot function in the tsan runtime library has 6
spills instead of 5.

Test case (2.ii attached):
clang++ -std=c++11 -fPIE -O3 -o 1.o -c 2.ii && objdump -drl 1.o | grep -A 10
'__tsan_read1>:'

-- 
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 31384] New: tuple is *still* nonconforming ;)

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

Bug ID: 31384
   Summary: tuple is *still* nonconforming ;)
   Product: libc++
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: All Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: ca...@carter.net
CC: llvm-bugs@lists.llvm.org, mclow.li...@gmail.com
Classification: Unclassified

Changes to tuple in r289727 broke range-v3! Specifically, this program no
longer compiles:

template
struct derived : std::tuple {
  using std::tuple::tuple;
  template
  operator std::tuple() && {
return {};
  }
};

int main() {
  std::tuple foo = derived{42};
}

derived's conversion operator to std::tuple is an exact match, and should be
preferred by overload resolution to std::tuple's constructor that requires a
conversion-to-base.

-- 
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 31385] New: SimplifyLibCalls should be able to map C99 types -> LLVM IR Types

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

Bug ID: 31385
   Summary: SimplifyLibCalls should be able to map C99 types ->
LLVM IR Types
   Product: libraries
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: Scalar Optimizations
  Assignee: unassignedb...@nondot.org
  Reporter: dav...@freebsd.org
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

See https://reviews.llvm.org/D14590.

SimplifyLibCalls needs to know how to translate the pair (DataLayout, C99 type)
-> LLVM IR Type in order to make some kind of transformations. 
For example, constant folding fls/flsl/flsll.

Without that, there's no reliable way to know how big a long is.

-- 
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 31385] SimplifyLibCalls should be able to map C99 types -> LLVM IR Types

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

Davide Italiano  changed:

   What|Removed |Added

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

--- Comment #1 from Davide Italiano  ---
Actually this problem can happen, but not for fls. There's already a bug for
that, marking this as duplicate.

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

-- 
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 31379] error: instantiation of function required here, but no definition is available

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

Richard Smith  changed:

   What|Removed |Added

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

--- Comment #1 from Richard Smith  ---
Thank you for the bug report!

The warning is correct, and is detecting exactly the problem it was designed to
detect.

The definition of message::message() at message.cpp:44 causes the generation of
the default constructor of message::property_map, which triggers the
instantiation of the default constructor of internal::cached_map.

But the default constructor of the internal::cached_map template is not defined
in this file, so it will not be instantiated. The program is therefore
ill-formed (no diagnostic required) unless that template is explicitly
instantiated for that set of template arguments somewhere else. (And if not, in
practice whether or not it works depends on how lucky you get: if the default
constructor is instantiated in some other source file, the program will
typically happen to work unless every use of it is inlined.)

The warning can be suppressed by using an explicit instantiation declaration,
explicitly stating the intent to explicitly instantiate that template somewhere
else.

-- 
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 31384] tuple is *still* nonconforming ;)

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

Eric Fiselier  changed:

   What|Removed |Added

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

--- Comment #1 from Eric Fiselier  ---
The offending commit was reverted in r289773. And I also added this reproducer
as a test case to prevent regressing.

-- 
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 17550] tuple::operator=(derived_from_tuple)

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

Eric Fiselier  changed:

   What|Removed |Added

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

--- Comment #6 from Eric Fiselier  ---
Reopening this bug because the fix was reverted in r289773 due to PR31384. I'll
work on recommitting in a couple weeks.

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