- Feb 01, 2014
-
-
Peter Collingbourne authored
This will be used by the line editor library to derive a default path to the history file. Differential Revision: http://llvm-reviews.chandlerc.com/D2199 llvm-svn: 200594
-
Reid Kleckner authored
Allocas marked inalloca are never static, but we were trying to put them into the static alloca map if they were in the entry block. Also add an assertion in x86 fastisel. llvm-svn: 200593
-
Lang Hames authored
PC-rel relocations aren't yet fully implemented. llvm-svn: 200592
-
Rafael Espindola authored
The code path it was guarding was already using emitRawComment. llvm-svn: 200591
-
Rafael Espindola authored
To remove this one simply move the end of file logic from the asm printer to the target mc streamer. This removes the last call to hasRawTextSupport from lib/Target. llvm-svn: 200590
-
- Jan 31, 2014
-
-
Reid Kleckner authored
llvm-svn: 200588
-
Chandler Carruth authored
bonus in the inline cost analysis. Split out of a patch by Dario Domizioli to commit separately. llvm-svn: 200586
-
Rafael Espindola authored
There is nothing wrong with printing the disassembly section when printing text. An hypothetical assembler would then produce a .o just like our direct object emission produces. llvm-svn: 200583
-
Rafael Espindola authored
llvm-svn: 200582
-
Rafael Espindola authored
llvm-svn: 200581
-
Duncan P. N. Exon Smith authored
llvm-svn: 200580
-
Duncan P. N. Exon Smith authored
llvm-svn: 200579
-
Rafael Espindola authored
llvm-svn: 200578
-
Lang Hames authored
It looks like these pseudos were only used for pattern matching. Def pats are the appropriate way to do that. As a bonus, these intrinsics will now have memory operands folded properly, and better FMA3 variants selected where appropriate (see r199933). <rdar://problem/15611947> llvm-svn: 200577
-
Chandler Carruth authored
transform accordingly. Based on similar code from Loop vectorization. Subsequent commits will include vectorization of function calls to vector intrinsics and form function calls to vector library calls. Patch by Raul Silvera! (Much delayed due to my not running dcommit) llvm-svn: 200576
-
Rafael Espindola authored
None of the object formats require extra parsing to compute these flags, so the method cannot fail. llvm-svn: 200574
-
Paul Robinson authored
keeping track of those entries. llvm-svn: 200572
-
Eric Christopher authored
algorithm. Sink the 'A' + Attribute hash into each form so we don't have to check valid forms before deciding whether or not we're going to hash which will let the default be to return without doing anything. llvm-svn: 200571
-
Eric Christopher authored
llvm-svn: 200570
-
David Blaikie authored
This ensures DWARF consumers don't confuse these references for definitions. I'd argue it might be nice to improve debuggers so we don't need this, but it's just one field in an abbreviation anyway - so it doesn't seem worth the fight. llvm-svn: 200569
-
Reid Kleckner authored
If we have a callee cleanup convention, the callee is going to pop the arguments off the stack, not push them on. llvm-svn: 200566
-
NAKAMURA Takumi authored
Oh sorry, I missed LTO.exports, ... I checked just only *.cpp(s). llvm-svn: 200562
-
Reid Kleckner authored
MSVC always places the 'this' parameter for a method first. The implicit 'sret' pointer for methods always comes second. We already implement this for __thiscall by putting sret parameters on the stack, but __cdecl methods require putting both parameters on the stack in opposite order. Using a special calling convention allows frontends to keep the sret parameter first, which avoids breaking lots of assumptions in LLVM and Clang. Fixes PR15768 with the corresponding change in Clang. Reviewers: ributzka, majnemer Differential Revision: http://llvm-reviews.chandlerc.com/D2663 llvm-svn: 200561
-
NAKAMURA Takumi authored
llvm-svn: 200560
-
NAKAMURA Takumi authored
llvm-svn: 200559
-
NAKAMURA Takumi authored
llvm-svn: 200558
-
NAKAMURA Takumi authored
llvm-svn: 200557
-
NAKAMURA Takumi authored
llvm-svn: 200556
-
Matheus Almeida authored
This instruction is only available on Mips64 cores that implement the MSA ASE. llvm-svn: 200543
-
Matheus Almeida authored
No functional changes. llvm-svn: 200541
-
Chandler Carruth authored
loop vectorizer to not do so when runtime pointer checks are needed and share code with the new (not yet enabled) load/store saturation runtime unrolling. Also ensure that we only consider the runtime checks when the loop hasn't already been vectorized. If it has, the runtime check cost has already been paid. I've fleshed out a test case to cover the scalar unrolling as well as the vector unrolling and comment clearly why we are or aren't following the pattern. llvm-svn: 200530
-
Craig Topper authored
Separate x86 opcode maps and 0x66/0xf2/0xf3 prefixes from each other in the TSFlags. This greatly simplifies the switch statements in the disassembler tables and the code emitters. llvm-svn: 200522
-
Craig Topper authored
Move REP out of the Prefix field of the X86 format. Give it its own bit. It had special handling anyway and this enables a future patch. llvm-svn: 200520
-
Craig Topper authored
Move address override handling in X86CodeEmitter to a place where it works for VEX encoded instructions too. This allows 32-bit addressing to work in 64-bit mode. llvm-svn: 200517
-
Craig Topper authored
Move address override handling in X86MCCodeEmitter to a place where it works for VEX encoded instructions too. This allows 32-bit addressing to work in 64-bit mode. llvm-svn: 200516
-
rdar://15930350Bob Wilson authored
The entry block of a function starts with all the static allocas. The change in r195513 splits the block before those allocas, which has the effect of turning them into dynamic allocas. That breaks all sorts of things. Change to split after the initial allocas, and also add a comment explaining why the block is split. llvm-svn: 200515
-
Venkatraman Govindaraju authored
llvm-svn: 200509
-
Manman Ren authored
when the input is a concat_vectors and the insert replaces one of the concat halves: Lower half: fold (insert_subvector (concat_vectors X, Y), Z) -> (concat_vectors Z, Y) Upper half: fold (insert_subvector (concat_vectors X, Y), Z) -> (concat_vectors X, Z) This can be seen with the following IR: define <8 x float> @lower_half(<4 x float> %v1, <4 x float> %v2, <4 x float> %v3) { %1 = shufflevector <4 x float> %v1, <4 x float> %v2, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7> %2 = tail call <8 x float> @llvm.x86.avx.vinsertf128.ps.256(<8 x float> %1, <4 x float> %v3, i8 0) The vinsertf128 intrinsic is converted into an insert_subvector node in SelectionDAGBuilder.cpp. Using AVX, without the patch this generates two vinsertf128 instructions: vinsertf128 $1, %xmm1, %ymm0, %ymm0 vinsertf128 $0, %xmm2, %ymm0, %ymm0 With the patch this is optimized into: vinsertf128 $1, %xmm1, %ymm2, %ymm0 Patch by Robert Lougher. llvm-svn: 200506
-
Owen Anderson authored
llvm-svn: 200503
-
Manman Ren authored
When converting from "or + br" to two branches, or converting from "and + br" to two branches, we correctly update the edge weights of the two branches. The previous attempt at r200431 was reverted at r200434 because of two testing case failures. I modified my patch a little, but forgot to re-run "make check-all". Testing case CodeGen/ARM/lsr-unfolded-offset.ll is updated because of the patch's impact on branch probability which causes changes in spill placement. llvm-svn: 200502
-