summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86RegisterInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Target/X86: Tweak win64's tailcall.NAKAMURA Takumi2011-01-261-0/+6
| | | | llvm-svn: 124272
* lib/Target/X86/X86RegisterInfo.cpp: Fix whitespace.NAKAMURA Takumi2011-01-261-3/+3
| | | | llvm-svn: 124268
* lib/Target/X86/X86RegisterInfo.cpp: Fix a typo in comment.NAKAMURA Takumi2011-01-261-1/+1
| | | | llvm-svn: 124267
* Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs ↵Anton Korobeynikov2011-01-101-7/+7
| | | | | | and fixes here and there. llvm-svn: 123170
* Fix the last virtual register enumerations.Jakob Stoklund Olesen2011-01-081-4/+4
| | | | llvm-svn: 123102
* Code clean up. No functionality change.Evan Cheng2010-12-231-49/+48
| | | | llvm-svn: 122528
* Move more PEI-related hooks to TFIAnton Korobeynikov2010-11-271-40/+0
| | | | llvm-svn: 120229
* Move some more hooks to TargetFrameInfoAnton Korobeynikov2010-11-201-36/+1
| | | | llvm-svn: 119904
* Move getInitialFrameState() to TargetFrameInfoAnton Korobeynikov2010-11-181-16/+0
| | | | llvm-svn: 119754
* Move hasFP() and few related hooks to TargetFrameInfo.Anton Korobeynikov2010-11-181-30/+19
| | | | llvm-svn: 119740
* First step of huge frame-related refactoring: move emit{Prologue,Epilogue} ↵Anton Korobeynikov2010-11-151-660/+1
| | | | | | out of TargetRegisterInfo to TargetFrameInfo, which is definitely much better suitable place llvm-svn: 119097
* Fix obvious mistake pointed out by Michael Spencer.Jakob Stoklund Olesen2010-10-071-1/+1
| | | | llvm-svn: 115952
* Properly handle GR32_NOSP in X86RegisterInfo::getMatchingSuperRegClass.Jakob Stoklund Olesen2010-10-061-1/+6
| | | | | | This function looks like it is about ready to be generated by TebleGen. llvm-svn: 115876
* Properly emit stack probe on win64 (for non-mingw targets).Anton Korobeynikov2010-10-031-31/+47
| | | | | | Based on the patch by Cameron Esfahani! llvm-svn: 115479
* Fix PR8201: Update the code to call via X86::CALL64pcrel32 in the 64-bit case.Cameron Esfahani2010-09-221-2/+3
| | | | llvm-svn: 114597
* fix rdar://8456412 - llvm-mc crash in encoder on "mov %rdx, %cr8"Chris Lattner2010-09-221-40/+15
| | | | | | Teaching the code generator about CR8-15, how to rex them up, etc. llvm-svn: 114533
* Properly emit __chkstk call instead of __alloca on non-mingw windows targets.Anton Korobeynikov2010-09-021-8/+17
| | | | | | Patch by Cameron Esfahani! llvm-svn: 112902
* Revert win64 changes. They seem to be incompleteAnton Korobeynikov2010-09-021-0/+5
| | | | llvm-svn: 112885
* Properly allocate win64 shadow reg area.Anton Korobeynikov2010-09-021-5/+0
| | | | | | Patch by Jan Sjodin! llvm-svn: 112875
* Simplify eliminateFrameIndex() interface back down now that PEI doesn't needJim Grosbach2010-08-261-4/+2
| | | | | | to try to re-use scavenged frame index reference registers. rdar://8277890 llvm-svn: 112241
* Fix nasty mingw32 bug, which e.g. prevented llvm-gcc bootstrap there.Anton Korobeynikov2010-08-251-2/+4
| | | | | | | | Mark _alloca call as clobberring EFLAGS, otherwise some DCE might remove other flags-clobberring stuff (e.g. cmp instructions) occuring after _alloca call. llvm-svn: 112034
* Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110460
* Revert r110396 to fix buildbots.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110410
* Add an option to always emit realignment code for a particular module.Eric Christopher2010-08-051-1/+34
| | | | llvm-svn: 110404
* Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson2010-08-051-1/+1
| | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
* Support x86 "eiz" and "riz" pseudo index registers in the assembler.Bruno Cardoso Lopes2010-07-241-0/+6
| | | | llvm-svn: 109295
* Constify some arguments.Eric Christopher2010-07-201-3/+3
| | | | llvm-svn: 108812
* Remove unnecessary check that was subsumed into canRealignStack.Eric Christopher2010-07-171-3/+2
| | | | llvm-svn: 108588
* Make comment a bit more clear as well as return statement sinceEric Christopher2010-07-171-2/+2
| | | | | | needsStackRealignment is currently checking the can conditions as well. llvm-svn: 108581
* Rename DBG_LABEL PROLOG_LABEL, because it's only used during prolog emission andBill Wendling2010-07-161-4/+4
| | | | | | thus is a much more meaningful name. llvm-svn: 108563
* Start the support for AVX instructions with 256-bit %ymm registers. A couple ofBruno Cardoso Lopes2010-07-091-8/+16
| | | | | | | | | | | | | | | notes: - The instructions are being added with dummy placeholder patterns using some 256 specifiers, this is not meant to work now, but since there are some multiclasses generic enough to accept them, when we go for codegen, the stuff will be already there. - Add VEX encoding bits to support YMM - Add MOVUPS and MOVAPS in the first round - Use "Y" as suffix for those Instructions: MOVUPSYrr, ... - All AVX instructions in X86InstrSSE.td will move soon to a new X86InstrAVX file. llvm-svn: 107996
* Change LEA to have 5 operands for its memory operand, justChris Lattner2010-07-081-2/+2
| | | | | | | | | | | 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
* Remove isSS argument from CreateFixedObject. Fixed objects cannot be spill ↵Evan Cheng2010-07-031-3/+2
| | | | | | slots so it's always false. llvm-svn: 107550
* Reapply 105986 with fix for bug pointed out by Jakob:Dale Johannesen2010-06-151-2/+4
| | | | | | | | | flag argument to addReg is not the same format as flags attached to MachineOperand, although both have the same info. I don't think this actually mattered; the bootstrap failure did not reproduce on the next run anyway. llvm-svn: 106049
* Revert 105986; looks like I'd better try bootstrapping.Dale Johannesen2010-06-151-4/+2
| | | | llvm-svn: 105988
* The form of BuildMI used for TAILJMPr was changing the registerDale Johannesen2010-06-151-2/+4
| | | | | | | | containing the target address, an input, into an output. I don't think this actually broke anything on x86 (it does on ARM), but it's wrong. llvm-svn: 105986
* Remove unused function.Rafael Espindola2010-06-021-50/+0
| | | | llvm-svn: 105325
* Fix the use of x86 control and debug registers so that the assertion failure inKevin Enderby2010-05-281-0/+28
| | | | | | getX86RegNum() does not happen. Patch by Shantonu Sen! llvm-svn: 104994
* Fix the x86 move to/from segment register instructions.Kevin Enderby2010-05-261-0/+13
| | | | llvm-svn: 104731
* Separate unrelated cases that once shared a numeric valueJakob Stoklund Olesen2010-05-251-9/+12
| | | | llvm-svn: 104629
* Ignore NumberHack and give each SubRegIndex instance a unique enum value ↵Jakob Stoklund Olesen2010-05-251-3/+3
| | | | | | | | | | | instead. This passes lit tests, but I'll give it a go through the buildbots to smoke out any remaining places that depend on the old SubRegIndex numbering. Then I'll remove NumberHack entirely. llvm-svn: 104615
* Use enums instead of literals for X86 subregisters.Jakob Stoklund Olesen2010-05-251-8/+7
| | | | | | | The cases in getMatchingSuperRegClass cannot be broken up until the enums have unique values. llvm-svn: 104611
* Factor out the code for picking integer arithmetic with immediateDan Gohman2010-05-191-15/+32
| | | | | | | opcodes into a helper function. This fixes a few places in the code which were not properly selecting the 8-bit-immediate opcodes. llvm-svn: 104091
* Several tail call tests apparently rely upon this being "adjusts stack" insteadBill Wendling2010-05-141-1/+1
| | | | | | | of "has calls". That's probably wrong, but it needs further investigation. Revert to the original behavior until this is settled. llvm-svn: 103824
* This should happen if there are no calls, not if it just doesn't adjust theBill Wendling2010-05-141-1/+1
| | | | | | stack. llvm-svn: 103813
* Revert r103804. The comment is correct.Bill Wendling2010-05-141-1/+1
| | | | llvm-svn: 103808
* Fix comment.Bill Wendling2010-05-141-1/+1
| | | | llvm-svn: 103804
* Rename "HasCalls" in MachineFrameInfo to "AdjustsStack" to better describe whatBill Wendling2010-05-141-1/+1
| | | | | | | | | the variable actually tracks. N.B., several back-ends are using "HasCalls" as being synonymous for something that adjusts the stack. This isn't 100% correct and should be looked into. llvm-svn: 103802
* Re-apply 103156 and 103157. 103156 didn't break anything. 10315 exposed a ↵Evan Cheng2010-05-061-1/+1
| | | | | | coalescer bug that's fixed by 103170. llvm-svn: 103172
* Revert r103156 since it was breaking the build bots.Eric Christopher2010-05-061-1/+1
| | | | | | | | | | | Reverse-merging r103156 into '.': U lib/Target/ARM/ARMInstrNEON.td U lib/Target/ARM/ARMRegisterInfo.h U lib/Target/ARM/ARMBaseRegisterInfo.cpp U lib/Target/ARM/ARMBaseInstrInfo.cpp U lib/Target/ARM/ARMRegisterInfo.td llvm-svn: 103159
OpenPOWER on IntegriCloud