- Oct 08, 2016
-
-
Simon Pilgrim authored
llvm-svn: 283670
-
Craig Topper authored
llvm-svn: 283669
-
Craig Topper authored
[AVX-512] Fix a bug in getLargestLegalSuperClass where we inflated to VR128X/VR256X even when VLX isn't supported. This seems to have been responsible for the XMM16-31 spills observed in PR29112. With this fixed the test case has been modified to no longer have a spill of XMM16. llvm-svn: 283668
-
Zvi Rackover authored
Also added cases demonstrating pr30644. llvm-svn: 283667
-
Simon Pilgrim authored
llvm-svn: 283666
-
Colin LeMahieu authored
[Hexagon] Adding change of flow max 1 (cofMax1) TS flag for marking this restriction rather than implying it from TypeJR. llvm-svn: 283665
-
Teresa Johnson authored
Summary: When there is a call to an alias in the same module, we were not adding a call edge. So we could incorrectly think that the alias was dead if it was inlined in that function, despite having a reference imported elsewhere. This resulted in unsats at link time. Add a call edge when the call is to an alias. Reviewers: davide, mehdi_amini Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D25384 llvm-svn: 283664
-
Sebastian Pop authored
Avoid generating indexed vector instructions for Exynos. This is needed for fmla/fmls/fmul/fmulx. For example, the instruction fmla v0.4s, v1.4s, v2.s[1] is less efficient than the instructions dup v2.4s, v2.s[1] fmla v0.4s, v1.4s, v2.4s Patch written by Abderrazek Zaafrani. Differential Revision: https://reviews.llvm.org/D21571 llvm-svn: 283663
-
Artem Dergachev authored
llvm-svn: 283662
-
Artem Dergachev authored
The parent commit (r283092) was reverted before and now finally landed. llvm-svn: 283661
-
Artem Dergachev authored
The parent commit (r283092) was reverted before and now finally landed. llvm-svn: 283660
-
Michal Gorny authored
Introduce LIBCXX_LIBRARIES_PUBLIC in addition to LIBCXX_LIBRARIES that holds 'public' interface libraries -- that is, libraries that both libc++ links to and programs linked against it need to link to. Currently this includes the ABI library and optionally -lunwind (when LIBCXXABI_USE_LLVM_UNWINDER is on). The libraries are included in the linker script, in order to make it possible to link C++ programs using clang with compiler-rt runtime out-of-the-box. Differential Revision: https://reviews.llvm.org/D25008 llvm-svn: 283659
-
Kuba Brecka authored
Sanitizers are intentionally not including system headers and often declare slightly different function prototypes, which is incompatible with -fmodules and -fcxx-modules. Let’s simply exclude compiler-rt from using -fmodules. Differential Revision: https://reviews.llvm.org/D25230 llvm-svn: 283658
-
Yaron Keren authored
llvm-svn: 283657
-
Adam Nemet authored
Value names may be prefixed with a binary '1' to indicate that the backend should not modify the symbols due to any platform naming convention. This should not show up in the YAML opt record file because it breaks the YAML parser. llvm-svn: 283656
-
Mehdi Amini authored
Clang always emit a hash for ThinLTO, but as other frontend are starting to use ThinLTO, this could be a serious bug. Differential Revision: https://reviews.llvm.org/D25379 llvm-svn: 283655
-
Mehdi Amini authored
We need to add an entry in the combined-index for modules that have a hash but otherwise empty summary, this is needed so that we can get the hash for the module. Also, if no entry is present in the combined index for a module, we need to skip it when trying to compute a cache entry. Differential Revision: https://reviews.llvm.org/D25300 llvm-svn: 283654
-
Mehdi Amini authored
llvm-svn: 283653
-
Pavel Labath authored
llvm-svn: 283652
-
Pavel Labath authored
llvm-svn: 283651
-
Kyle Butt authored
This reverts commit 71c312652c10f1855b28d06697c08d47e7a243e4. llvm-svn: 283647
-
Mehdi Amini authored
llvm-svn: 283645
-
Eric Fiselier authored
llvm-svn: 283644
-
Eric Fiselier authored
llvm-svn: 283643
-
Dylan McKay authored
llvm-svn: 283642
-
Zachary Turner authored
This is the first step towards round-tripping symbol information, and thusly being able to write symbol information to a PDB. This patch writes the symbol information for each compiland to the Yaml when running in pdb2yaml mode. There's still some loose ends, such as what to do about relocations (necessary in order to print linkage names), how to print enums with friendly names, and how to give the dumper access to the StringTable, but this is a good first start. llvm-svn: 283641
-
Dylan McKay authored
This wasn't looking at the right instruction, and would always fail. llvm-svn: 283640
-
Dylan McKay authored
We previously only used the frame pointer if the frame pointer was too big. This was to work around a bug (described in this old commit) https://sourceforge.net/p/avr-llvm/code/204/tree//llvm/trunk/AVR/AVRFrameLowering.cpp?diff=50d64d912718465cb887d17a:203 I mistakenly invered the condition assuming it was a typo. I am now removing it because it doesn't seem to be a problem anymore (plus it's a dirty hack). llvm-svn: 283639
-
Dylan McKay authored
This works on clang, but fails on GCC 4.6 llvm-svn: 283638
-
Justin Lebar authored
Summary: Move CheckCUDACall from ActOnCallExpr and BuildDeclRefExpr to DiagnoseUseOfDecl. This lets us catch some edge cases we were missing, specifically around class operators. This necessitates a few other changes: - Avoid emitting duplicate deferred diags in CheckCUDACall. Previously we'd carefully placed our call to CheckCUDACall such that it would only ever run once for a particular callsite. But now this isn't the case. - Emit deferred diagnostics from a template specialization/instantiation's primary template, in addition to from the specialization/instantiation itself. DiagnoseUseOfDecl ends up putting the deferred diagnostics on the template, rather than the specialization, so we need to check both. Reviewers: rsmith Subscribers: cfe-commits, tra Differential Revision: https://reviews.llvm.org/D24573 llvm-svn: 283637
-
Dylan McKay authored
llvm-svn: 283636
-
Dylan McKay authored
The rest spills to the stack Authored by Jake Goulding llvm-svn: 283635
-
Dylan McKay authored
Once MULHS was expanded, this exposed an issue where the condition register was thought to be 16-bit. This caused an attempt to copy a 16-bit register to an 8-bit register. Authored by Jake Goulding llvm-svn: 283634
-
Eric Fiselier authored
llvm-svn: 283633
-
Eric Fiselier authored
llvm-svn: 283632
-
Eric Fiselier authored
Summary: To quote STL the problems with stack allocator are" >"stack_allocator<T, N> is seriously nonconformant to N4582 17.6.3.5 [allocator.requirements]. > First, it lacks a rebinding constructor. (The nested "struct rebind" isn't sufficient.) > Second, it lacks templated equality/inequality. > Third, it completely ignores alignment. > Finally, and most severely, the Standard forbids its existence. Allocators are forbidden from returning memory "inside themselves". This requirement is implied by the Standard's requirements for rebinding and equality. It's permitted to return memory from a separate buffer object on the stack, though." This patch attempts to address all of those issues. First, instead of storing the buffer inside the allocator I've change `stack_allocator` to accept the buffer as an argument. Second, in order to fix rebinding I changed the parameter list from `<class T, size_t NumElements>` to `<class T, size_t NumBytes>`. This allows allocator rebinding between types that have different sizes. Third, I added copy and rebinding constructors and assignment operators. And finally I fixed the allocation logic to always return properly aligned storage. Reviewers: mclow.lists, howard.hinnant, STL_MSFT Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D25154 llvm-svn: 283631
-
Dylan McKay authored
This will be used in the future for disassembly. llvm-svn: 283630
-
Dylan McKay authored
llvm-svn: 283629
-
Dylan McKay authored
llvm-svn: 283628
-
Dylan McKay authored
llvm-svn: 283627
-