- Sep 22, 2008
-
-
Evan Cheng authored
llvm-svn: 56469
-
- Sep 13, 2008
-
-
Dan Gohman authored
isImmediate(), isRegister(), and friends, to avoid confusion about having two different names with the same meaning. I'm not attached to the longer names, and would be ok with changing to the shorter names if others prefer it. llvm-svn: 56189
-
- Sep 04, 2008
-
-
Dan Gohman authored
llvm-svn: 55779
-
- Aug 14, 2008
-
-
Owen Anderson authored
llvm-svn: 54787
-
- Jul 21, 2008
-
-
Evan Cheng authored
llvm-svn: 53873
-
- Jul 08, 2008
-
-
Dan Gohman authored
MachineMemOperands. The pools are owned by MachineFunctions. This drastically reduces the number of calls to malloc/free made during the "Emit" phase of scheduling, as well as later phases in CodeGen. Combined with other changes, this speeds up the "instruction selection" phase of CodeGen by 10% in some cases. llvm-svn: 53212
-
- Mar 21, 2008
-
-
Chris Lattner authored
This verifies kill info for "ret" fp operands is right. llvm-svn: 48656
-
Chris Lattner authored
x86-64 return conventions correct, but was never enabled. We can now do the "right thing" with multiple return values. llvm-svn: 48635
-
Chris Lattner authored
ST(0)/ST(1). llvm-svn: 48634
-
Chris Lattner authored
llvm-svn: 48633
-
Chris Lattner authored
This allows us to compile fp-stack-2results.ll into: _test: fldz fld1 ret which returns 1 in ST(0) and 0 in ST(1). This is needed for x86-64 _Complex long double. llvm-svn: 48632
-
- Mar 11, 2008
-
-
Chris Lattner authored
works, but probably won't if you mix it with 't' or 'u' yet. llvm-svn: 48243
-
Nick Lewycky authored
llvm-svn: 48212
-
Chris Lattner authored
RET instruction instead of using FpSET_ST0_32. This also generalizes the code to handling returning of multiple FP results. llvm-svn: 48209
-
- Mar 09, 2008
-
-
Chris Lattner authored
llvm-svn: 48094
-
Chris Lattner authored
isel'ing value preserving FP roundings from one fp stack reg to another into a noop, instead of stack traffic. llvm-svn: 48093
-
- Mar 05, 2008
-
-
Evan Cheng authored
findRegisterUseOperandIdx, findRegisterDefOperandIndx. Fix some naming inconsistencies. llvm-svn: 47927
-
- Jan 29, 2008
-
-
Evan Cheng authored
Work in progress. This patch *fixes* x86-64 calls which are modelled as StructRet but really should be return in registers, e.g. _Complex long double, some 128-bit aggregates. This is a short term solution that is necessary only because llvm, for now, cannot model i128 nor call's with multiple results. Status: This only works for direct calls, and only the caller side is done. Disabled for now. llvm-svn: 46527
-
- Jan 14, 2008
-
-
Chris Lattner authored
an instruction kills a register or not. This is cheap and easy to do now that instructions record this on their flags, and this eliminates the second pass of LiveVariables from the x86 backend. This speeds up a release llc by ~2.5%. llvm-svn: 45955
-
- Jan 11, 2008
-
-
Chris Lattner authored
llvm-svn: 45871
-
- Jan 07, 2008
-
-
Chris Lattner authored
Make MachineInstr::getDesc return a reference instead of a pointer, since it can never be null. llvm-svn: 45695
-
Chris Lattner authored
llvm-svn: 45680
-
Chris Lattner authored
that it is cheap and efficient to get. Move a variety of predicates from TargetInstrInfo into TargetInstrDescriptor, which makes it much easier to query a predicate when you don't have TII around. Now you can use MI->getDesc()->isBranch() instead of going through TII, and this is much more efficient anyway. Not all of the predicates have been moved over yet. Update old code that used MI->getInstrDescriptor()->Flags to use the new predicates in many places. llvm-svn: 45674
-
- Dec 31, 2007
-
-
Chris Lattner authored
that "machine" classes are used to represent the current state of the code being compiled. Given this expanded name, we can start moving other stuff into it. For now, move the UsedPhysRegs and LiveIn/LoveOuts vectors from MachineFunction into it. Update all the clients to match. This also reduces some needless #includes, such as MachineModuleInfo from MachineFunction. llvm-svn: 45467
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45418
-
- Sep 29, 2007
-
-
Evan Cheng authored
llvm-svn: 42459
-
- Sep 25, 2007
-
-
Evan Cheng authored
llvm-svn: 42312
-
Evan Cheng authored
Added support for new condition code modeling scheme (i.e. physical register dependency). These are a bunch of instructions that are duplicated so the x86 backend can support both the old and new schemes at the same time. They will be deleted after all the kinks are worked out. llvm-svn: 42285
-
- Sep 20, 2007
-
-
Dale Johannesen authored
llvm-svn: 42159
-
- Sep 17, 2007
-
-
Dale Johannesen authored
and storeRegToStackSlot. Evan and I concluded this should never be needed and it appears to be true. (It if is needed, adjustment would be needed for long double to work.) llvm-svn: 42049
-
- Sep 14, 2007
-
-
Dan Gohman authored
isRegister, isImmediate, and isMachineBasicBlock, which are equivalent, and more popular. llvm-svn: 41958
-
- Sep 11, 2007
-
-
Duncan Sands authored
llvm-svn: 41840
-
- Sep 07, 2007
-
-
Owen Anderson authored
Patch by Sterling Stein! llvm-svn: 41758
-
- Aug 07, 2007
-
-
Dale Johannesen authored
SSE mode (all but conversions <-> other FP types, I think): >>Do not mark all-80-bit operations as "Requires[FPStack]" (which really means "not SSE"). >>Refactor load-and-extend to facilitate this. >>Update comments. >>Handle long double in SSE when computing FP_REG_KILL. llvm-svn: 40906
-
Dale Johannesen authored
Last x87 bits for full functionality (not thoroughly tested, and long doubles do not work in SSE modes at all - use -mcpu=i486 for now) llvm-svn: 40886
-
- Aug 06, 2007
-
-
Dale Johannesen authored
(on Darwin, anyway). Fix some table omissions for LD arithmetic. llvm-svn: 40877
-
Dale Johannesen authored
llvm-svn: 40868
-
- Aug 05, 2007
-
-
Dale Johannesen authored
Lots of problems yet but some simple things work. llvm-svn: 40847
-
- Jul 10, 2007
-
-
Dale Johannesen authored
llvm-svn: 38514
-
- Jul 04, 2007
-
-
Dale Johannesen authored
their names are changed. llvm-svn: 37876
-