- Sep 30, 2010
-
-
Eric Christopher authored
llvm-svn: 115100
-
- Sep 27, 2010
-
-
Dale Johannesen authored
llvm-svn: 114844
-
- Sep 05, 2010
-
-
rdar://6653118Chris Lattner authored
Since mem2reg isn't run at -O0, we get a ton of reloads from the stack, for example, before, this code: int foo(int x, int y, int z) { return x+y+z; } used to compile into: _foo: ## @foo subq $12, %rsp movl %edi, 8(%rsp) movl %esi, 4(%rsp) movl %edx, (%rsp) movl 8(%rsp), %edx movl 4(%rsp), %esi addl %edx, %esi movl (%rsp), %edx addl %esi, %edx movl %edx, %eax addq $12, %rsp ret Now we produce: _foo: ## @foo subq $12, %rsp movl %edi, 8(%rsp) movl %esi, 4(%rsp) movl %edx, (%rsp) movl 8(%rsp), %edx addl 4(%rsp), %edx ## Folded load addl (%rsp), %edx ## Folded load movl %edx, %eax addq $12, %rsp ret Fewer instructions and less register use = faster compiles. llvm-svn: 113102
-
- Aug 21, 2010
-
-
Dan Gohman authored
comparison is in a different basic block from the branch. In such cases, the comparison's operands may not have initialized virtual registers available. llvm-svn: 111709
-
- Jul 22, 2010
-
-
Nate Begeman authored
llvm-svn: 109069
-
- Jul 17, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 108565
-
- Jul 15, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 108387
-
- Jul 14, 2010
-
-
Dan Gohman authored
constants, since they may not be emited near the other instructions which get the same line, and this confuses debug info. llvm-svn: 108302
-
- Jul 12, 2010
-
-
Dan Gohman authored
support branching on x87 comparisons yet. This fixes PR7624. llvm-svn: 108149
-
- Jul 11, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 108091
-
Jakob Stoklund Olesen authored
Don't try a cross-class copy. That is very unlikely anywy since return value registers are usually register class friendly. (%EAX, %XMM0, etc). llvm-svn: 108074
-
Jakob Stoklund Olesen authored
The remaining copyRegToReg calls actually check the return value (shock!), so we cannot trivially replace them with COPY instructions. llvm-svn: 108069
-
- Jul 10, 2010
-
-
Dan Gohman authored
- Check getBytesToPopOnReturn(). - Eschew ST0 and ST1 for return values. - Fix the PIC base register initialization so that it doesn't ever fail to end up the top of the entry block. llvm-svn: 108039
-
- Jul 09, 2010
-
-
Bob Wilson authored
U utils/TableGen/FastISelEmitter.cpp --- Reverse-merging r107943 into '.': U test/CodeGen/X86/fast-isel.ll U test/CodeGen/X86/fast-isel-loads.ll U include/llvm/Target/TargetLowering.h U include/llvm/Support/PassNameParser.h U include/llvm/CodeGen/FunctionLoweringInfo.h U include/llvm/CodeGen/CallingConvLower.h U include/llvm/CodeGen/FastISel.h U include/llvm/CodeGen/SelectionDAGISel.h U lib/CodeGen/LLVMTargetMachine.cpp U lib/CodeGen/CallingConvLower.cpp U lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp U lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp U lib/CodeGen/SelectionDAG/FastISel.cpp U lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp U lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp U lib/CodeGen/SelectionDAG/InstrEmitter.cpp U lib/CodeGen/SelectionDAG/TargetLowering.cpp U lib/Target/XCore/XCoreISelLowering.cpp U lib/Target/XCore/XCoreISelLowering.h U lib/Target/X86/X86ISelLowering.cpp U lib/Target/X86/X86FastISel.cpp U lib/Target/X86/X86ISelLowering.h llvm-svn: 107987
-
Dan Gohman authored
a DBG_VALUE after a terminator, or emitting any instructions before an EH_LABEL. llvm-svn: 107943
-
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
-
-
Jakob Stoklund Olesen authored
EXTRACT_SUBREG no longer appears as a machine instruction. Use COPY instead. Add isCopy() checks in many places using isMoveInstr() and isExtractSubreg(). The isMoveInstr hook will be removed later. llvm-svn: 107879
-
Dan Gohman authored
Debug info intrinsics win for now. llvm-svn: 107850
-
- Jul 07, 2010
-
-
Dan Gohman authored
a separate DCE pass over MachineInstrs. llvm-svn: 107804
-
Dan Gohman authored
a bunch of stuff, to allow the target-independent calling convention logic to be employed. llvm-svn: 107800
-
Dan Gohman authored
around everywhere, and also give it an InsertPt member, to enable isel to operate at an arbitrary position within a block, rather than just appending to a block. llvm-svn: 107791
-
Dan Gohman authored
instance, rather than pointers to all of FunctionLoweringInfo's members. This eliminates an NDEBUG ABI sensitivity. llvm-svn: 107789
-
- Jul 01, 2010
-
-
Dan Gohman authored
llvm-svn: 107377
-
Dan Gohman authored
to SelectionDAG. llvm-svn: 107376
-
Dan Gohman authored
the same address. llvm-svn: 107373
-
- Jun 26, 2010
-
-
Gabor Greif authored
llvm-svn: 106944
-
- Jun 19, 2010
-
-
Dan Gohman authored
on calls and similar instructions. llvm-svn: 106353
-
- Jun 18, 2010
-
-
Dan Gohman authored
llvm-svn: 106311
-
Dan Gohman authored
original basic block. This avoids trouble with examining instructions in other basic blocks which haven't been assigned registers yet. llvm-svn: 106310
-
Dan Gohman authored
llvm-svn: 106279
-
Stuart Hastings authored
addresses a longstanding deficiency noted in many FIXMEs scattered across all the targets. This effectively moves the problem up one level, replacing eleven FIXMEs in the targets with eight FIXMEs in CodeGen, plus one path through FastISel where we actually supply a DebugLoc, fixing Radar 7421831. llvm-svn: 106243
-
- Jun 15, 2010
-
-
Chris Lattner authored
Nelson Elhage! llvm-svn: 106031
-
- Jun 01, 2010
-
-
Dan Gohman authored
in X86FastISel. Patch by Jan Sjodin. llvm-svn: 105290
-
- May 27, 2010
-
-
Dan Gohman authored
To support this, move IsCalleePop from X86ISelLowering to X86Subtarget. llvm-svn: 104866
-
- May 24, 2010
-
-
Jakob Stoklund Olesen authored
Use the tablegen-produced enums. llvm-svn: 104493
-
- May 21, 2010
-
-
Evan Cheng authored
that are aliases of the specified register. - Rename modifiesRegister to definesRegister since it's looking a def of the specific register or one of its super-registers. It's not looking for def of a sub-register or alias that could change the specified register. - Added modifiesRegister to look for defs of aliases. llvm-svn: 104377
-
- May 16, 2010
-
-
Anton Korobeynikov authored
Patch by Charles Davis and Steven Watanabe! llvm-svn: 103902
-
- May 12, 2010
-
-
Dan Gohman authored
llvm-svn: 103529
-
- May 06, 2010
-
-
Dan Gohman authored
doesn't have to guess. llvm-svn: 103194
-
- Apr 22, 2010
-
-
Dan Gohman authored
and into SelectionDAGBuilder and FastISel. llvm-svn: 102123
-