| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix an X86-64 abi bug. We now compile: | Chris Lattner | 2007-02-25 | 1 | -10/+13 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | void foo(short); void bar(unsigned short A) { foo(A); } into: _bar: subq $8, %rsp movswl %di, %edi call _foo addq $8, %rsp ret instead of: _bar: subq $8, %rsp call _foo addq $8, %rsp ret Testcase here: test/CodeGen/X86/x86-64-shortint.ll llvm-svn: 34615 | ||||
| * | new testcase | Chris Lattner | 2007-02-25 | 1 | -0/+13 |
| | | | | | llvm-svn: 34614 | ||||
| * | fix CodeGen/X86/2007-02-25-FastCCStack.ll, a regression from my patch last | Chris Lattner | 2007-02-25 | 1 | -1/+1 |
| | | | | | | | night: fastcc returns should only go in XMM0 if we have SSE2 or above. llvm-svn: 34613 | ||||
| * | new testcase | Chris Lattner | 2007-02-25 | 1 | -0/+5 |
| | | | | | llvm-svn: 34612 | ||||
| * | new testcase | Chris Lattner | 2007-02-25 | 1 | -0/+11 |
| | | | | | llvm-svn: 34611 | ||||
| * | Fix for PR1224. | Jim Laskey | 2007-02-25 | 1 | -35/+50 |
| | | | | | llvm-svn: 34610 | ||||
| * | Test for PR1224. | Jim Laskey | 2007-02-25 | 1 | -0/+12 |
| | | | | | llvm-svn: 34609 | ||||
| * | Rework GlobalValue::removeDeadConstantUsers to always remove dead constant | Chris Lattner | 2007-02-25 | 2 | -25/+29 |
| | | | | | | | | | | | exprs hanging off a global, even if the global is not otherwise dead. This requires some tricky iterator gymnastics. This implements Transforms/GlobalOpt/constantexpr-dangle.ll by deleting a constantexpr that made it appear that the address of the function was taken. llvm-svn: 34608 | ||||
| * | new testcase. @foo should be marked fastcc by globalopt | Chris Lattner | 2007-02-25 | 1 | -0/+11 |
| | | | | | llvm-svn: 34607 | ||||
| * | disable some noisy debug output | Chris Lattner | 2007-02-25 | 1 | -12/+12 |
| | | | | | llvm-svn: 34606 | ||||
| * | no really, this is the right patch | Chris Lattner | 2007-02-25 | 1 | -1/+1 |
| | | | | | llvm-svn: 34605 | ||||
| * | always promote float varargs to double. | Chris Lattner | 2007-02-25 | 1 | -1/+1 |
| | | | | | llvm-svn: 34604 | ||||
| * | 1. Provide more detail in file comment. | Reid Spencer | 2007-02-25 | 1 | -189/+145 |
| | | | | | | | | | | | | | | | 2. Move comments for methods to .h file, delete them in .cpp file. 3. All places that were doing manual clear of high order bits now call the clearUnusedBits() method in order to not depend on undefined behavior of the >> operator when the number of bits shifted equals the word size. 4. Reduced # of loc by using the new result of clearUnusedBits() method. 5. Simplified logic (decreased indentation) in a few places. 6. Added code comments to larger functions that needed them. 7. Added FIXME notes about weak implementations of things (e.g. bit-by-bit shift right is sub-optimal). llvm-svn: 34603 | ||||
| * | Fix clearUnusedBits to not depend on "undefined behavior" of >> operator | Reid Spencer | 2007-02-25 | 1 | -9/+40 |
| | | | | | | | | | | | | when the bit size is equal to the word size. This happens to work out okay on x86, but might not on other platforms. The change just detects when there are no bits to clear (because BitWidth is a multiple of the word size) and returns early. Also, move some comments from .cpp file into header. llvm-svn: 34602 | ||||
| * | one important bugfix: PPC32 didn't have both elf and macho support for | Chris Lattner | 2007-02-25 | 2 | -6/+10 |
| | | | | | | | | | | external symbols and global addresses. Add the missing ones. one important workaround: PPCISD::CALL is matched by both PPCcall_ELF and PPCcall_Macho, disable the _ELF patterns for now. llvm-svn: 34601 | ||||
| * | add -enable-eh | Chris Lattner | 2007-02-25 | 1 | -1/+9 |
| | | | | | llvm-svn: 34600 | ||||
| * | optimize duplicate ValueMap lookups | Chris Lattner | 2007-02-25 | 1 | -9/+6 |
| | | | | | llvm-svn: 34599 | ||||
| * | cosmetic changes from review of last patch. obvious | Dale Johannesen | 2007-02-25 | 2 | -4/+5 |
| | | | | | llvm-svn: 34598 | ||||
| * | A couple of more places where a register liveness has been extended and its ↵ | Evan Cheng | 2007-02-25 | 1 | -5/+57 |
| | | | | | | | last kill should be updated accordingly. llvm-svn: 34597 | ||||
| * | Add an assertion. | Evan Cheng | 2007-02-25 | 1 | -2/+4 |
| | | | | | llvm-svn: 34596 | ||||
| * | Fix a couple of bugs related IsDead back propagation during coalescing. | Evan Cheng | 2007-02-25 | 1 | -5/+10 |
| | | | | | llvm-svn: 34595 | ||||
| * | If the liveinterval of the source instruction has been extended, remove the ↵ | Evan Cheng | 2007-02-25 | 1 | -0/+6 |
| | | | | | | | IsKill marker. llvm-svn: 34594 | ||||
| * | Only add liveinterval to livein set if it isn't assigned a stack slot. | Evan Cheng | 2007-02-25 | 1 | -4/+4 |
| | | | | | llvm-svn: 34593 | ||||
| * | fastcc functions that return double values now return them in xmm0 on x86-32. | Chris Lattner | 2007-02-25 | 1 | -1/+3 |
| | | | | | | | This implements CodeGen/X86/fp-stack-ret.ll:test[23] llvm-svn: 34592 | ||||
| * | verify that double is returned in XMM0 if the function is fastcc. | Chris Lattner | 2007-02-25 | 1 | -3/+16 |
| | | | | | llvm-svn: 34591 | ||||
| * | allow vectors to be passed to stdcall/fastcall functions | Chris Lattner | 2007-02-25 | 1 | -18/+10 |
| | | | | | llvm-svn: 34590 | ||||
| * | move LowerRET into the 'Return Value Calling Convention Implementation' | Chris Lattner | 2007-02-25 | 1 | -75/+77 |
| | | | | | | | section of the file. llvm-svn: 34589 | ||||
| * | make all Lower*CallTo implementations use LowerCallResult to handle their | Chris Lattner | 2007-02-25 | 1 | -153/+10 |
| | | | | | | | | result value stuff. This eliminates a bunch of duplicated code and now GetRetValueLocs is the sole place that decides where a value is returned. llvm-svn: 34588 | ||||
| * | pass the calling convention into Lower*CallTo, instead of using ad-hoc flags. | Chris Lattner | 2007-02-25 | 2 | -23/+19 |
| | | | | | llvm-svn: 34587 | ||||
| * | factor a bunch of code out of LowerCCCCallTo into a new LowerCallResult | Chris Lattner | 2007-02-25 | 2 | -100/+97 |
| | | | | | | | | | function. This function now uses GetRetValueLocs to determine *where* the result values are located and concerns itself with *how* to pull the values out. llvm-svn: 34586 | ||||
| * | move some code around, pass in calling conv, even though it is unused | Chris Lattner | 2007-02-25 | 1 | -39/+46 |
| | | | | | llvm-svn: 34585 | ||||
| * | fold trivial token factor nodes. This allows us to compile | Chris Lattner | 2007-02-25 | 1 | -0/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | test/CodeGen/X86/fp-stack-ret.ll into: movl 4(%esp), %eax fldl (%eax) ret instead of: subl $12, %esp movl 16(%esp), %eax movsd (%eax), %xmm0 movsd %xmm0, (%esp) fldl (%esp) addl $12, %esp ret by eliminating a token factor that blocked a check. llvm-svn: 34584 | ||||
| * | new testcase | Chris Lattner | 2007-02-25 | 1 | -0/+12 |
| | | | | | llvm-svn: 34583 | ||||
| * | simplify result value lowering by splitting the selection of *where* to return | Chris Lattner | 2007-02-25 | 2 | -91/+111 |
| | | | | | | | | | | registers out from the logic of *how* to return them. This changes X86-64 to mark EAX live out when returning a 32-bit value, where before it marked RAX liveout. llvm-svn: 34582 | ||||
| * | Allow this to compile now that the header file is checked in. | Reid Spencer | 2007-02-25 | 1 | -4/+0 |
| | | | | | llvm-svn: 34581 | ||||
| * | Add a private constructor for efficiency. | Reid Spencer | 2007-02-25 | 1 | -0/+4 |
| | | | | | llvm-svn: 34580 | ||||
| * | make void-return not a special case | Chris Lattner | 2007-02-25 | 1 | -33/+17 |
| | | | | | llvm-svn: 34579 | ||||
| * | eliminate a bunch more temporary vectors from X86 lowering. | Chris Lattner | 2007-02-25 | 1 | -177/+142 |
| | | | | | llvm-svn: 34578 | ||||
| * | eliminate temporary vectors created during X86 lowering. | Chris Lattner | 2007-02-25 | 1 | -70/+47 |
| | | | | | llvm-svn: 34577 | ||||
| * | remove std::vector's in RET lowering. | Chris Lattner | 2007-02-25 | 1 | -22/+11 |
| | | | | | llvm-svn: 34576 | ||||
| * | verify i128 return on x86-64 continues to codegen optimally. | Chris Lattner | 2007-02-25 | 1 | -0/+8 |
| | | | | | llvm-svn: 34575 | ||||
| * | implement support for the linux/ppc function call ABI. Patch by | Chris Lattner | 2007-02-25 | 8 | -102/+343 |
| | | | | | | | Nicolas Geoffray! llvm-svn: 34574 | ||||
| * | Add XLForm_1_ext template, patch by Nicolas Geoffray. | Chris Lattner | 2007-02-25 | 1 | -14/+24 |
| | | | | | llvm-svn: 34573 | ||||
| * | Improve JIT support for linux/ppc: Patch by Nicolas Geoffray! | Chris Lattner | 2007-02-25 | 3 | -2/+70 |
| | | | | | llvm-svn: 34572 | ||||
| * | this doesn't compile, disable it | Chris Lattner | 2007-02-25 | 1 | -0/+4 |
| | | | | | llvm-svn: 34571 | ||||
| * | remove these. | Chris Lattner | 2007-02-25 | 1 | -1/+0 |
| | | | | | llvm-svn: 34570 | ||||
| * | Clean up lshr and ashr to coding standards. | Reid Spencer | 2007-02-25 | 1 | -53/+79 |
| | | | | | | | Handle the single word cases for shiftAmt == BitWidth. llvm-svn: 34569 | ||||
| * | remove crediting of Evan Cheng and me. | Dale Johannesen | 2007-02-25 | 1 | -1/+0 |
| | | | | | llvm-svn: 34568 | ||||
| * | initialize a instance variable | Chris Lattner | 2007-02-25 | 1 | -0/+1 |
| | | | | | llvm-svn: 34567 | ||||
| * | update this for llvm-gcc4 | Chris Lattner | 2007-02-25 | 1 | -92/+76 |
| | | | | | llvm-svn: 34566 | ||||

