Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | For functions that use vector registers, save VRSAVE, mark used | Chris Lattner | 2006-03-13 | 1 | -0/+51 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | registers, and update it on entry to each function, then restore it on exit. This compiles: void func(vfloat *a, vfloat *b, vfloat *c) { *a = *b * *c + *c; } to this: _func: mfspr r2, 256 oris r6, r2, 49152 mtspr 256, r6 lvx v0, 0, r5 lvx v1, 0, r4 vmaddfp v0, v1, v0, v0 stvx v0, 0, r3 mtspr 256, r2 blr GCC produces this (which has additional stack accesses): _func: mfspr r0,256 stw r0,-4(r1) oris r0,r0,0xc000 mtspr 256,r0 lvx v0,0,r5 lvx v1,0,r4 lwz r12,-4(r1) vmaddfp v0,v0,v1,v0 stvx v0,0,r3 mtspr 256,r12 blr llvm-svn: 26733 | |||||
* | Move isLoadFrom/StoreToStackSlot from MRegisterInfo to TargetInstrInfo,a far ↵ | Chris Lattner | 2006-02-02 | 1 | -18/+0 | |
| | | | | | | more logical place. Other methods should also be moved if anyoneis interested. :) llvm-svn: 25913 | |||||
* | Fix an off-by-one error that Nate's eagle eyes caught | Chris Lattner | 2006-01-11 | 1 | -1/+1 | |
| | | | | llvm-svn: 25231 | |||||
* | Use the auto-insert BuildMI constructor to avoid an explicit insert. No | Chris Lattner | 2006-01-11 | 1 | -28/+20 | |
| | | | | | | functionality change, just code cleanup. llvm-svn: 25230 | |||||
* | If a function has a non-zero sized frame, use an add to adjust the stack | Chris Lattner | 2006-01-11 | 1 | -9/+20 | |
| | | | | | | pointer in the epilog, not a load. llvm-svn: 25229 | |||||
* | New DAG node properties SNDPInFlag, SNDPOutFlag, and SNDPOptInFlag to replace | Evan Cheng | 2006-01-09 | 1 | -2/+1 | |
| | | | | | | hasInFlag, hasOutFlag. llvm-svn: 25155 | |||||
* | * Removed the use of FLAG. Now use hasFlagIn and hasFlagOut instead. | Evan Cheng | 2005-12-23 | 1 | -1/+2 | |
| | | | | | | | | * Added a pseudo instruction (for each target) that represent "return void". This is a workaround for lack of optional flag operand (return void is not lowered so it does not have a flag operand.) llvm-svn: 24997 | |||||
* | Add the necessary support to the ISel to allow targets to codegen the new | Nate Begeman | 2005-11-06 | 1 | -3/+26 | |
| | | | | | | | | alignment information appropriately. Includes code for PowerPC to support fixed-size allocas with alignment larger than the stack. Support for arbitrarily aligned dynamic allocas coming soon. llvm-svn: 24224 | |||||
* | Fix the JIT encoding of LWA, LD, STD, and STDU. | Chris Lattner | 2005-10-18 | 1 | -0/+9 | |
| | | | | llvm-svn: 23787 | |||||
* | First bits of 64 bit PowerPC stuff, currently disabled. A lot of this is | Nate Begeman | 2005-10-18 | 1 | -17/+33 | |
| | | | | | | purely mechanical. llvm-svn: 23778 | |||||
* | More PPC32 -> PPC changes, as well as merging some classes that were | Nate Begeman | 2005-10-16 | 1 | -22/+22 | |
| | | | | | | redundant after the change. llvm-svn: 23759 | |||||
* | Rename PPC32*.h to PPC*.h | Chris Lattner | 2005-10-14 | 1 | -0/+346 | |
This completes the grand PPC file renaming llvm-svn: 23745 |