- Oct 06, 2010
-
-
Chris Lattner authored
(e.g. CMOVBE16rr instead of CMOVBErr16). llvm-svn: 115705
-
Chris Lattner authored
21 insertions(+), 53 deletions(-) Moar change coming before I switch the rest. llvm-svn: 115697
-
- Sep 22, 2010
-
-
Eric Christopher authored
needs to happen for darwin. llvm-svn: 114577
-
Chris Lattner authored
llvm-svn: 114529
-
Chris Lattner authored
llvm-svn: 114523
-
Chris Lattner authored
can access the stack due to how it is generated though. llvm-svn: 114522
-
Chris Lattner authored
used with stack slots, but hey, lets be safe. llvm-svn: 114521
-
Chris Lattner authored
llvm-svn: 114515
-
Chris Lattner authored
call through gs-relative memory now. llvm-svn: 114510
-
Chris Lattner authored
llvm-svn: 114508
-
Chris Lattner authored
by having X86DAGToDAGISel::SelectAddr get passed in the parent node of the operand match (the load/store/atomic op) and having it get the address space from that, instead of having special FS/GS addr mode operations that require duplicating the entire instruction set to support. This makes FS and GS relative accesses *far* more predictable and work much better. It also simplifies the X86 backend a bit, more to come. There is still a pending issue with nodes like ISD::PREFETCH and X86ISD::FLD, which really should be MemSDNode's but aren't. llvm-svn: 114491
-
- Sep 21, 2010
-
-
Chris Lattner authored
passed the root of the match, even though only a few patterns actually needed this (one in X86, several in ARM [which should be refactored anyway], and some in CellSPU that I don't feel like detangling). Instead of requiring all ComplexPatterns to take the dead root, have targets opt into getting the root by putting SDNPWantRoot on the ComplexPattern. llvm-svn: 114471
-
Chris Lattner authored
llvm-svn: 114468
-
Chris Lattner authored
SelectionDAG::getExtLoad overload, and eliminate it. llvm-svn: 114446
-
rdar://8453210Chris Lattner authored
For now, just disable folding the load into the call. llvm-svn: 114386
-
- Sep 04, 2010
-
-
Chris Lattner authored
llvm-svn: 113073
-
- Sep 03, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 112921
-
- Aug 25, 2010
-
-
Benjamin Kramer authored
llvm-svn: 112060
-
- Aug 05, 2010
-
-
Eli Friedman authored
llvm-svn: 110268
-
- Jul 09, 2010
-
-
Chris Lattner authored
like all other instructions, even though a segment is not allowed. This resolves a bunch of gross hacks in the encoder and makes LEA more consistent with the rest of the instruction set. No functionality change. llvm-svn: 107934
-
- Jul 08, 2010
-
-
Evan Cheng authored
llvm-svn: 107820
-
- Jul 07, 2010
-
-
Devang Patel authored
llvm-svn: 107710
-
- Jun 26, 2010
-
-
Jakob Stoklund Olesen authored
CopyFromReg nodes for aliasing registers (AX and AL). This confuses the fast register allocator. Instead of CopyFromReg(AL), use ExtractSubReg(CopyFromReg(AX), sub_8bit). This fixes PR7312. llvm-svn: 106934
-
- Jun 18, 2010
-
-
Dan Gohman authored
SDNode *, since it doesn't care about the ResNo value. llvm-svn: 106282
-
Dan Gohman authored
to track a node over CSE events. This fixes PR7368. llvm-svn: 106266
-
- Jun 03, 2010
-
-
Eric Christopher authored
llvm-svn: 105381
-
- May 24, 2010
-
-
Jakob Stoklund Olesen authored
Use the tablegen-produced enums. llvm-svn: 104493
-
- Apr 30, 2010
-
-
Dan Gohman authored
print randomly in debug output. llvm-svn: 102668
-
- Apr 28, 2010
-
-
Evan Cheng authored
llvm-svn: 102493
-
- Apr 21, 2010
-
-
Chris Lattner authored
(shl (or x,c), 3) the same as (shl (add x, c), 3) when x doesn't have any bits from c set. This finishes off PR1135. Before we compiled the block to: to: LBB0_3: ## %bb cmpb $4, %dl sete %dl addb %dl, %cl movb %cl, %dl shlb $2, %dl addb %r8b, %dl shlb $2, %dl movzbl %dl, %edx movl %esi, (%rdi,%rdx,4) leaq 2(%rdx), %r9 movl %esi, (%rdi,%r9,4) leaq 1(%rdx), %r9 movl %esi, (%rdi,%r9,4) addq $3, %rdx movl %esi, (%rdi,%rdx,4) incb %r8b decb %al movb %r8b, %dl jne LBB0_1 Now we produce: LBB0_3: ## %bb cmpb $4, %dl sete %dl addb %dl, %cl movb %cl, %dl shlb $2, %dl addb %r8b, %dl shlb $2, %dl movzbl %dl, %edx movl %esi, (%rdi,%rdx,4) movl %esi, 8(%rdi,%rdx,4) movl %esi, 4(%rdi,%rdx,4) movl %esi, 12(%rdi,%rdx,4) incb %r8b decb %al movb %r8b, %dl jne LBB0_1 llvm-svn: 101958
-
- Apr 17, 2010
-
-
Dan Gohman authored
const_casts, and it reinforces the design of the Target classes being immutable. SelectionDAGISel::IsLegalToFold is now a static member function, because PIC16 uses it in an unconventional way. There is more room for API cleanup here. And PIC16's AsmPrinter no longer uses TargetLowering. llvm-svn: 101635
-
- Apr 15, 2010
-
-
Dan Gohman authored
llvm-svn: 101334
-
- Apr 14, 2010
-
-
Dan Gohman authored
llvm-svn: 101276
-
- Apr 02, 2010
-
-
Chris Lattner authored
llvm-svn: 100214
-
- Mar 18, 2010
-
-
Evan Cheng authored
X86 address mode matching code MatchAddressRecursively does some aggressive hack which require doing a RAUW. It may end up deleting some SDNode up stream. It should avoid referencing deleted nodes. llvm-svn: 98780
-
- Mar 14, 2010
-
-
Evan Cheng authored
Do not force indirect tailcall through fixed registers: eax, r11. Add support to allow loads to be folded to tail call instructions. llvm-svn: 98465
-
- Mar 04, 2010
-
-
Chris Lattner authored
llvm-svn: 97709
-
- Mar 03, 2010
-
-
Chris Lattner authored
that they are not destination type specific. This allows tblgen to factor them and the type check is redundant with what the isel does anyway. llvm-svn: 97629
-
Chris Lattner authored
llvm-svn: 97606
-
- Mar 02, 2010
-
-
Chris Lattner authored
We still preprocess calls and fp return stuff. llvm-svn: 97598
-