- 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
llvm-svn: 107947
-
- Jul 08, 2010
-
-
Dan Gohman authored
Debug info intrinsics win for now. llvm-svn: 107850
-
- Jul 07, 2010
-
-
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
-
- May 27, 2010
-
-
Dan Gohman authored
llvm-svn: 104845
-
- May 24, 2010
-
-
Jakob Stoklund Olesen authored
This is the beginning of purely symbolic subregister indices, but we need a bit of jiggling before the explicit numeric indices can be completely removed. llvm-svn: 104492
-
- May 12, 2010
-
-
Dan Gohman authored
llvm-svn: 103529
-
- May 06, 2010
-
-
Dan Gohman authored
doesn't have to guess. llvm-svn: 103194
-
- Mar 24, 2010
-
-
Chris Lattner authored
in some more places. llvm-svn: 99366
-
- Mar 19, 2010
-
-
Chris Lattner authored
to maintain a list of types (one for each result of the node) instead of a single type. There are liberal hacks added to emulate the old behavior in various situations, but they can start disolving now. llvm-svn: 98999
-
Chris Lattner authored
llvm-svn: 98904
-
- Mar 15, 2010
-
-
Chris Lattner authored
changing the primary datastructure from being a "std::vector<unsigned char>" to being a new TypeSet class that actually has (gasp) invariants! This changes more things than I remember, but one major innovation here is that it enforces that named input values agree in type with their output values. This also eliminates code that transparently assumes (in some cases) that SDNodeXForm input/output types are the same, because this is wrong in many case. This also eliminates a bug which caused a lot of ambiguous patterns to go undetected, where a register class would sometimes pick the first possible type, causing an ambiguous pattern to get arbitrary results. With all the recent target changes, this causes no functionality change! llvm-svn: 98534
-
- Jan 05, 2010
-
-
Dan Gohman authored
uses several kinds of opcode values which are not declared within that enum. This fixes PR5946. llvm-svn: 92794
-
- Sep 06, 2009
-
-
Duncan Sands authored
icc (#177, partial). Patch by Erick Tryzelaar. llvm-svn: 81106
-
- Aug 11, 2009
-
-
Owen Anderson authored
the latter is capable of representing either a primitive or an extended type. llvm-svn: 78713
-
Owen Anderson authored
llvm-svn: 78610
-
- Jul 03, 2009
-
-
Daniel Dunbar authored
- Sorry, I can't help myself. - No intended functionality change. llvm-svn: 74742
-
- May 22, 2009
-
-
Dale Johannesen authored
operand is the last in a pattern. There is no reason this should be true (although apparently it always is right now). llvm-svn: 72232
-
- Jan 22, 2009
-
-
Evan Cheng authored
Eliminate a couple of fields from TargetRegisterClass: SubRegClasses and SuperRegClasses. These are not necessary. Also eliminate getSubRegisterRegClass and getSuperRegisterRegClass. These are slow and their results can change if register file names change. Just use TargetLowering::getRegClassFor() to get the right TargetRegisterClass instead. llvm-svn: 62762
-
- Oct 15, 2008
-
-
Dan Gohman authored
This will allow predicates to be composed, which will allow the predicate definitions to become less redundant, and eventually will allow DAGISelEmitter.cpp to emit less redundant code. llvm-svn: 57562
-
- Sep 30, 2008
-
-
Dan Gohman authored
they'll be a little more visible. Also, update and reword them a bit. llvm-svn: 56877
-
- Sep 08, 2008
-
-
Evan Cheng authored
Correctly handle physical register inputs. They are not explicit input operands in the resulting machine instrs. llvm-svn: 55893
-
- Sep 07, 2008
-
-
Evan Cheng authored
llvm-svn: 55876
-
Evan Cheng authored
def : Pat<(i8 (trunc GR32:$src)), (i8 (EXTRACT_SUBREG (MOV32to32_ GR32:$src), x86_subreg_8bit))> llvm-svn: 55875
-
- Sep 03, 2008
-
-
Evan Cheng authored
Let tblgen only generate fastisel routines, not the class definition. This makes it easier for targets to define its own fastisel class. llvm-svn: 55679
-
- Aug 29, 2008
-
-
Owen Anderson authored
llvm-svn: 55545
-
Dan Gohman authored
llvm-svn: 55512
-
- Aug 28, 2008
-
-
Owen Anderson authored
Add support for fast-isel of opcodes that require use of extract_subreg. Because of how extract_subreg is treated, it requires special case handling. llvm-svn: 55480
-
- Aug 27, 2008
-
-
Dan Gohman authored
llvm-svn: 55418
-
Dan Gohman authored
llvm-svn: 55401
-
- Aug 26, 2008
-
-
Dan Gohman authored
put each major step in a separate function. This makes the high level sequence of events easier to follow. llvm-svn: 55385
-
Owen Anderson authored
have a return type that differs from the operand types. llvm-svn: 55376
-
Owen Anderson authored
Throw the switch to allow FastISel to emit instructions whose return types different from their inputs. Next step: adding lowering pattens in FastISel that actually use these newly available opcodes. llvm-svn: 55349
-
Owen Anderson authored
Enhance TableGen to emit code for FastISel of opcodes with variadic return types without slowing down opcodes that are not variadic. No such opcodes are currently generated, but in theory it should be a matter of just hitting the switch. llvm-svn: 55347
-
Owen Anderson authored
Add a RetVT parameter to emitted FastISel methods, so that we will be able to pass the desired return type down. This is not currently used. llvm-svn: 55345
-
Owen Anderson authored
Deepen the map structure tablegen uses to compute FastISel patterns, in preparation for having patterns with return types that differ from their input types. This is not yet used. llvm-svn: 55344
-
- Aug 25, 2008
-
-
Owen Anderson authored
bitcast of constants in fast isel. llvm-svn: 55325
-
- Aug 22, 2008
-
-
Dan Gohman authored
llvm-svn: 55157
-
Dan Gohman authored
and use it in FastISelEmitter.cpp, and make FastISel subtarget aware. Among other things, this lets it work properly on x86 targets that don't have SSE, where it successfully selects x87 instructions. llvm-svn: 55156
-