summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86RegisterInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* By default, spills kills the register being stored.Evan Cheng2007-02-231-1/+2
| | | | llvm-svn: 34515
* Support to provide exception and selector registers.Jim Laskey2007-02-211-0/+10
| | | | llvm-svn: 34482
* Re-apply my liveintervalanalysis changes. Now with PR1207 fixes.Evan Cheng2007-02-191-0/+16
| | | | llvm-svn: 34428
* For PR1207:Reid Spencer2007-02-191-16/+0
| | | | | | | Revert patches that caused the problem. Evan, please investigate and reapply when you've discovered the problem. llvm-svn: 34399
* Added getReservedRegs().Evan Cheng2007-02-171-0/+16
| | | | llvm-svn: 34376
* Only gather frame info if debug or eh.Jim Laskey2007-01-291-2/+2
| | | | llvm-svn: 33639
* Landing pad-less eh for PPC.Jim Laskey2007-01-291-4/+3
| | | | llvm-svn: 33622
* Change the MachineDebugInfo to MachineModuleInfo to better reflect usageJim Laskey2007-01-261-7/+7
| | | | | | for debugging and exception handling. llvm-svn: 33550
* Make LABEL a builtin opcode.Jim Laskey2007-01-261-2/+2
| | | | llvm-svn: 33537
* Call frames for intel.Jim Laskey2007-01-241-0/+51
| | | | llvm-svn: 33490
* 80 columnsJim Laskey2007-01-241-4/+8
| | | | llvm-svn: 33489
* PEI is now responsible for adding MaxCallFrameSize to frame size and align ↵Evan Cheng2007-01-231-17/+0
| | | | | | the stack. Each target can further adjust the frame size if necessary. llvm-svn: 33460
* hasFP() is now a virtual method of MRegisterInfo.Evan Cheng2007-01-231-2/+2
| | | | llvm-svn: 33455
* One more try...Evan Cheng2007-01-201-2/+3
| | | | llvm-svn: 33400
* Last check-in was bogus. There is no need to align the stack if the function ↵Evan Cheng2007-01-201-3/+6
| | | | | | is a leaf function (and without alloca). llvm-svn: 33399
* Backend is reponsible for aligning the stack.Evan Cheng2007-01-201-7/+5
| | | | llvm-svn: 33388
* * PIC codegen for X86/Linux has been implementedAnton Korobeynikov2007-01-121-0/+4
| | | | | | | | * PIC-aware internal structures in X86 Codegen have been refactored * Visibility (default/weak) has been added * Docs fixes (external weak linkage, visibility, formatting) llvm-svn: 33136
* Really big cleanup.Anton Korobeynikov2007-01-031-2/+2
| | | | | | | | | | | - New target type "mingw" was introduced - Same things for both mingw & cygwin are marked as "cygming" (as in gcc) - .lcomm is supported here, so allow LLVM to use it - Correctly use underscored versions of setjmp & _longjmp for both mingw & cygwin llvm-svn: 32833
* Fix naming inconsistency.Evan Cheng2007-01-021-8/+8
| | | | llvm-svn: 32823
* f64 <-> i64 bit_convert using movq in 64-bit mode.Evan Cheng2006-12-141-0/+2
| | | | llvm-svn: 32587
* Added MOVSS2DIrr and MOVDI2SSrr to foldMemeoryOperand().Evan Cheng2006-12-141-0/+2
| | | | llvm-svn: 32583
* What should be the last unnecessary <iostream>s in the library.Bill Wendling2006-12-071-6/+4
| | | | llvm-svn: 32333
* MI keeps a ptr of TargetInstrDescriptor, use it.Evan Cheng2006-12-071-1/+2
| | | | llvm-svn: 32296
* Match TargetInstrInfo changes.Evan Cheng2006-12-011-1/+1
| | | | llvm-svn: 32098
* Change MachineInstr ctor's to take a TargetInstrDescriptor reference insteadEvan Cheng2006-11-271-23/+23
| | | | | | of opcode and number of operands. llvm-svn: 31947
* Hopefully a good crack at making debugging work on intel -disable-fp-elim.Jim Laskey2006-11-171-1/+3
| | | | llvm-svn: 31830
* Correct instructions for moving data between GR64 and SSE registers; also ↵Evan Cheng2006-11-161-1/+2
| | | | | | correct load i64 / store i64 from v2i64. llvm-svn: 31795
* Properly transfer kill / dead info.Evan Cheng2006-11-151-7/+14
| | | | llvm-svn: 31765
* Matches MachineInstr changes.Evan Cheng2006-11-131-20/+21
| | | | llvm-svn: 31712
* Fix a potential bug.Evan Cheng2006-11-101-1/+1
| | | | llvm-svn: 31634
* Add implicit def / use operands to MachineInstr.Evan Cheng2006-11-101-1/+1
| | | | llvm-svn: 31633
* Use TargetInstrInfo::getNumOperands() instead of ↵Evan Cheng2006-11-101-8/+12
| | | | | | MachineInstr::getNumOperands(). In preparation for implicit reg def/use changes. llvm-svn: 31616
* Remove M_2_ADDR_FLAG.Evan Cheng2006-11-091-3/+4
| | | | llvm-svn: 31583
* Dead code.Evan Cheng2006-11-031-4/+0
| | | | llvm-svn: 31405
* Delete dead code; fix 80 col violations.Evan Cheng2006-09-221-3/+0
| | | | llvm-svn: 30583
* Added some eye-candy for Subtarget type checkingAnton Korobeynikov2006-09-171-2/+2
| | | | | | Added X86 StdCall & FastCall calling conventions. Codegen will follow. llvm-svn: 30446
* Fixed a FuseTwoAddrInst() bug: consider GlobalAddress and JumpTableIndexEvan Cheng2006-09-081-6/+11
| | | | | | in addition to immediate operands. llvm-svn: 30205
* Committing X86-64 support.Evan Cheng2006-09-081-73/+315
| | | | llvm-svn: 30177
* Some notes on better load folding we could doChris Lattner2006-09-071-0/+2
| | | | llvm-svn: 30155
* Fix a few dejagnu failures. e.g. fast-cc-merge-stack-adj.llEvan Cheng2006-09-051-2/+2
| | | | llvm-svn: 30113
* Completely eliminate def&use operands. Now a register operand is EITHER aChris Lattner2006-09-051-2/+2
| | | | | | def operand or a use operand. llvm-svn: 30109
* Fix a long-standing wart in the code generator: two-address instruction loweringChris Lattner2006-09-051-482/+468
| | | | | | | | | | | | | | | actually *removes* one of the operands, instead of just assigning both operands the same register. This make reasoning about instructions unnecessarily complex, because you need to know if you are before or after register allocation to match up operand #'s with the target description file. Changing this also gets rid of a bunch of hacky code in various places. This patch also includes changes to fold loads into cmp/test instructions in the X86 backend, along with a significant simplification to the X86 spill folding code. llvm-svn: 30108
* Constify some methods. Patch provided by Anton Vayvod, thanks!Chris Lattner2006-08-171-1/+1
| | | | llvm-svn: 29756
* Missing a space.Evan Cheng2006-07-201-1/+1
| | | | llvm-svn: 29233
* Tidy up a few things.Jim Laskey2006-07-191-20/+36
| | | | llvm-svn: 29213
* Reduce size of routine. Shrinks .o by 37%.Jim Laskey2006-07-191-421/+489
| | | | llvm-svn: 29210
* Add shift and rotate by 1 instructions / patterns.Evan Cheng2006-06-291-0/+15
| | | | llvm-svn: 28980
* Cygwin support: use _alloca to allocate stack if > 4k. Patch by Anton ↵Evan Cheng2006-06-131-4/+21
| | | | | | Korobeynikov. llvm-svn: 28764
* Added X86FunctionInfo subclass of MachineFunction to record whether theEvan Cheng2006-06-061-7/+3
| | | | | | | function that is being lowered is forced to use FP. Currently this is only true for main() / Cygwin. llvm-svn: 28703
* Cygwin support. Patch by Anton Korobeynikov!Evan Cheng2006-06-021-2/+21
| | | | llvm-svn: 28672
OpenPOWER on IntegriCloud