- Oct 27, 2014
-
-
NAKAMURA Takumi authored
llvm-svn: 220668
-
Rui Ueyama authored
This reverts commit r220665. llvm-svn: 220667
-
Rui Ueyama authored
On FreeBSD 10.0, size_t needs to be defined before including cxxabi.h. Currenty HAVE_CXXABI_H is not defined on FreeBSD because of that reason. This patch teaches cmake and configure how to include it. http://reviews.llvm.org/D5940 llvm-svn: 220665
-
David Majnemer authored
An icmp may have pointer arguments, it isn't limited to integers or vectors of integers. This fixes PR21388. llvm-svn: 220664
-
Rafael Espindola authored
llvm-svn: 220662
-
David Blaikie authored
llvm-svn: 220658
-
- Oct 26, 2014
-
-
Lang Hames authored
llvm-svn: 220655
-
Lang Hames authored
Hopefully this fixes the bug that was introduced in r220642, and not-quite-fixed in r220649. llvm-svn: 220653
-
Arnold Schwaighofer authored
We used to always vectorize (slp and loop vectorize) in the LTO pass pipeline. r220345 changed it so that we used the PassManager's fields 'LoopVectorize' and 'SLPVectorize' out of the desire to be able to disable vectorization using the cl::opt flags 'vectorize-loops'/'slp-vectorize' which the before mentioned fields default to. Unfortunately, this turns off vectorization because those fields default to false. This commit adds flags to the LTO library to disable lto vectorization which reconciles the desire to optionally disable vectorization during LTO and the desired behavior of defaulting to enabled vectorization. We really want tools to set PassManager flags directly to enable/disable vectorization and not go the route via cl::opt flags *in* PassManagerBuilder.cpp. llvm-svn: 220652
-
Lang Hames authored
Apparently unique_ptr'ifying NodeMetadata exposed an issue in VS where it occasionally tries to synthesize copy constructors instead of moves. Hopefully explicitly deleting the copy constructor and defining the move constructor will fix this. llvm-svn: 220649
-
Peter Zotov authored
Patch by Gabriel Radanne <drupyog@zoho.com>. llvm-svn: 220648
-
Hans Wennborg authored
It broke the Windows build: [1/19] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\RegAllocPBQP.cpp.obj C:\bb-win7\ninja-clang-i686-msc17-R\llvm-project\llvm\include\llvm/CodeGen/RegAllocPBQP.h(132) : error C2248: 'std::unique_ptr<_Ty>::unique_ptr' : cannot access private member declared in class 'std::unique_ptr<_Ty>' with [ _Ty=unsigned int [] ] D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\memory(1600) : see declaration of 'std::unique_ptr<_Ty>::unique_ptr' with [ _Ty=unsigned int [] ] This diagnostic occurred in the compiler generated function 'llvm::PBQP::RegAlloc::NodeMetadata::NodeMetadata(const llvm::PBQP::RegAlloc::NodeMetadata &)' llvm-svn: 220645
-
Lang Hames authored
llvm-svn: 220642
-
Lang Hames authored
No functional change. This just brings things more in-line with coding standards, and makes ValuePool's functionality clearer (it's not tied to pooling costs, and we may want to use it to hold other things in the future). llvm-svn: 220641
-
Elena Demikhovsky authored
llvm-svn: 220638
-
- Oct 25, 2014
-
-
Andrew Trick authored
Combine the Inserted an Done sets into a Visited set. llvm-svn: 220623
-
Andrew Trick authored
This is a simple fix that brings the compilation time from 5min to 5s on a specific real-world example. It's a large chain of computation in a crypto routine (always a problem for SCEV). A unit test is not feasible and there would be no way to check it. The fix is just basic good practice for dealing with SCEVs, there's no risk of regression. Patch by Daniel Reynaud! llvm-svn: 220622
-
Peter Zotov authored
llvm-svn: 220621
-
Peter Zotov authored
First, return true on success, as it is the OCaml convention. Second, also initialize the native assembly printer, which is, despite the name, required for MCJIT operation. Since this function did not initialize the assembly printer earlier and no function to initialize native assembly printer was available elsewhere, it is safe to break its interface: it means that it simply could not be used successfully before. llvm-svn: 220620
-
Peter Zotov authored
llvm-svn: 220619
-
Jingyue Wu authored
The dividend in "signed % unsigned" is treated as unsigned instead of signed, causing unexpected behavior such as -64 % (uint64_t)24 == 0. Added a regression test in split-gep.ll Patched by Hao Liu. llvm-svn: 220618
-
Benjamin Kramer authored
llvm-svn: 220617
-
Benjamin Kramer authored
Also make it const safe and remove superfluous casting. NFC. llvm-svn: 220616
-
Jingyue Wu authored
The two operands of the new OR expression should be NextInChain and TheOther instead of the two original operands. Added a regression test in split-gep.ll. Hao Liu reported this bug, and provded the test case and an initial patch. Thanks! llvm-svn: 220615
-
Simon Pilgrim authored
Tidied up some entries in the folding tables so that they are under the correct comment section (they were categorised as AVX2 instructions when they're AVX1). Minor patch agreed with qcolombet. llvm-svn: 220613
-
David Majnemer authored
These asserts can trigger if the worklist iteration order is sufficiently unlucky. Instead of adding special case logic to handle these edge conditions, just bail out on trying to transform them: InstSimplify will get them when it reaches them on the worklist. This fixes PR21378. N.B. No test case is included because any test would rely on the fragile worklist iteration order. llvm-svn: 220612
-
Rafael Espindola authored
Should fix the Ocaml tests. llvm-svn: 220611
-
Rafael Espindola authored
llvm-svn: 220610
-
Rafael Espindola authored
Instead of passing a std::string&, use the new diagnostic infrastructure. llvm-svn: 220608
-
Jingyue Wu authored
Summary: Fixes PR21100 which is caused by inconsistency between the declared return type and the expected return type at the call site. The new behavior is consistent with nvcc and the NVPTXTargetLowering::getPrototype function. Test Plan: test/Codegen/NVPTX/vector-return.ll Reviewers: jholewinski Reviewed By: jholewinski Subscribers: llvm-commits, meheff, eliben, jholewinski Differential Revision: http://reviews.llvm.org/D5612 llvm-svn: 220607
-
Rafael Espindola authored
llvm-svn: 220603
-
Evgeniy Stepanov authored
Allow (under the experimental flag) non-Instructions to participate in MSan checks. llvm-svn: 220601
-
Rafael Espindola authored
llvm-svn: 220600
-
Kevin Enderby authored
In a Mach-O object file a relocatable expression of the form SymbolA - SymbolB + constant is allowed when both symbols are defined in a section. But when either symbol is undefined it is an error. The code was crashing when it had an undefined symbol in this case. And should have printed a error message using the location information in the relocation entry. rdar://18678402 llvm-svn: 220599
-
- Oct 24, 2014
-
-
Frederic Riss authored
So that it has access to getOrCreateGlobalVariableDIE. If we ever support decsribing using directive in C++ classes (thus requiring support in type units), it will certainly use another mechanism anyway. Differential Revision: http://reviews.llvm.org/D5975 llvm-svn: 220594
-
Simon Pilgrim authored
Minor patch to fix an issue in XFormVExtractWithShuffleIntoLoad where a load is unary shuffled, then bitcast (to a type with the same number of elements) before extracting an element. An undef was created for the second shuffle operand using the original (post-bitcasted) vector type instead of the pre-bitcasted type like the rest of the shuffle node - this was then causing an assertion on the different types later on inside SelectionDAG::getVectorShuffle. Differential Revision: http://reviews.llvm.org/D5917 llvm-svn: 220592
-
Colin LeMahieu authored
Modified library structure to deal with circular dependency between HexagonInstPrinter and HexagonMCInst. Adding encoding bits for add opcode. Adding llvm-mc tests. Removing unit tests. http://reviews.llvm.org/D5624 llvm-svn: 220584
-
Matt Arsenault authored
llvm-svn: 220581
-
Rafael Espindola authored
To do this, change the representation of lazy loaded functions. The previous representation cannot differentiate between a function whose body has been removed and one whose body hasn't been read from the .bc file. That means that in order to drop a function, the entire body had to be read. llvm-svn: 220580
-
Sanjay Patel authored
This is a follow-on to r220570 that allows a 256-bit (v8f32) version of vrsqrtps to be generated. llvm-svn: 220579
-