Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Specialize FORCE_DEFINING_FILE_TO_BE_LINKED using a GCC trick | Dan Gohman | 2008-03-21 | 1 | -1/+1 |
| | | | | | | | | to avoid using constructor calls for static objects. This reduces the number of objects requiring static constructors in a typical LLVM build by around 20%. llvm-svn: 48665 | ||||
* | Fix -view-sunit-dags to support cross-rc-copy nodes. | Dan Gohman | 2008-03-21 | 1 | -1/+4 |
| | | | | llvm-svn: 48664 | ||||
* | the size of a smallvector shouldn't be part of the interface to these methods. | Chris Lattner | 2008-03-21 | 1 | -20/+18 |
| | | | | llvm-svn: 48662 | ||||
* | make gvn marginally faster by reallocating the lastSeenLoad map for | Chris Lattner | 2008-03-21 | 1 | -3/+4 |
| | | | | | | each basic block. llvm-svn: 48660 | ||||
* | Minor cleanups and shrinkification. | Chris Lattner | 2008-03-21 | 1 | -186/+114 |
| | | | | llvm-svn: 48658 | ||||
* | Handle getresult instructions in different basic blocks | Dan Gohman | 2008-03-21 | 1 | -0/+9 |
| | | | | | | | from their aggregate operands by moving the getresult instructions. llvm-svn: 48657 | ||||
* | Restore this assert now that the livevar bug is fixed. | Chris Lattner | 2008-03-21 | 1 | -2/+7 |
| | | | | | | This verifies kill info for "ret" fp operands is right. llvm-svn: 48656 | ||||
* | A couple of kill marker maintainence bug. | Evan Cheng | 2008-03-21 | 2 | -1/+5 |
| | | | | llvm-svn: 48653 | ||||
* | FunctionExtractorPass has been superceded by GVExtractorPass | Andrew Lenharth | 2008-03-21 | 1 | -147/+0 |
| | | | | llvm-svn: 48648 | ||||
* | Make it possible to get an empty struct using | Duncan Sands | 2008-03-21 | 1 | -2/+3 |
| | | | | | | | | the new StructType::get method. The second NULL is to pacify the gcc warning mechanism. This patch compiles but is otherwise untested. llvm-svn: 48645 | ||||
* | Introduce a new node for holding call argument | Duncan Sands | 2008-03-21 | 9 | -134/+145 |
| | | | | | | | | | | | | | | | | | flags. This is needed by the new legalize types infrastructure which wants to expand the 64 bit constants previously used to hold the flags on 32 bit machines. There are two functional changes: (1) in LowerArguments, if a parameter has the zext attribute set then that is marked in the flags; before it was being ignored; (2) PPC had some bogus code for handling two word arguments when using the ELF 32 ABI, which was hard to convert because of the bogusness. As suggested by the original author (Nicolas Geoffray), I've disabled it for the moment. Tested with "make check" and the Ada ACATS testsuite. llvm-svn: 48640 | ||||
* | Fix the build for gcc-4.2. | Duncan Sands | 2008-03-21 | 1 | -1/+2 |
| | | | | llvm-svn: 48639 | ||||
* | remove Evan's "ugly hack" that sorta attempted to get | Chris Lattner | 2008-03-21 | 5 | -174/+2 |
| | | | | | | | x86-64 return conventions correct, but was never enabled. We can now do the "right thing" with multiple return values. llvm-svn: 48635 | ||||
* | Add support for calls that return two FP values in | Chris Lattner | 2008-03-21 | 3 | -5/+52 |
| | | | | | | ST(0)/ST(1). llvm-svn: 48634 | ||||
* | disable a bogus assertion. | Chris Lattner | 2008-03-21 | 1 | -2/+2 |
| | | | | llvm-svn: 48633 | ||||
* | Enable support for returning two long-double values in ST(0)/ST(1). | Chris Lattner | 2008-03-21 | 2 | -7/+4 |
| | | | | | | | | | | | | | | 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 | ||||
* | Teach masked value is zero about add and sub, and use MVIZ to | Chris Lattner | 2008-03-21 | 1 | -34/+87 |
| | | | | | | | | simplify things like (X & 4) >> 1 == 2 --> (X & 4) == 4. since it is obvious that the shift doesn't remove any bits. llvm-svn: 48631 | ||||
* | Undo 48570. Correctly match mmx shift instructions with an immediate operand. | Evan Cheng | 2008-03-21 | 2 | -18/+25 |
| | | | | llvm-svn: 48627 | ||||
* | These passes preserve CFG. | Devang Patel | 2008-03-20 | 4 | -5/+5 |
| | | | | | | This patch fixes Benchmarks/Trimaran/enc-pc1/enc-pc1 failure reported by Grawp-PIC i386 nightly tester llvm-svn: 48623 | ||||
* | Incorporate feedback. | Devang Patel | 2008-03-20 | 1 | -24/+24 |
| | | | | | | | | - Fix loop nest. - Use RetVals.size() - Check for null return value. llvm-svn: 48605 | ||||
* | C and Objective Caml bindings for mem2reg and reg2mem. | Gordon Henriksen | 2008-03-20 | 1 | -0/+8 |
| | | | | | | Patch by Erick Tryzelaar. llvm-svn: 48602 | ||||
* | enable -analyze for andersens | Andrew Lenharth | 2008-03-20 | 1 | -19/+39 |
| | | | | llvm-svn: 48601 | ||||
* | Take the old function's name. | Zhou Sheng | 2008-03-20 | 1 | -0/+1 |
| | | | | llvm-svn: 48588 | ||||
* | add a note. | Chris Lattner | 2008-03-20 | 1 | -0/+8 |
| | | | | llvm-svn: 48583 | ||||
* | Check even more carefully before applying this DAGCombine transform. | Christopher Lamb | 2008-03-20 | 1 | -13/+19 |
| | | | | llvm-svn: 48580 | ||||
* | Restore isCFGOnly property of various analysis passes. | Devang Patel | 2008-03-20 | 20 | -25/+25 |
| | | | | llvm-svn: 48579 | ||||
* | Fix this xform: (sra (shl X, m), result_size) -> (sign_extend (trunc (shl X, ↵ | Evan Cheng | 2008-03-20 | 2 | -3/+5 |
| | | | | | | result_size - n - m))) llvm-svn: 48578 | ||||
* | detabify llvm, patch by Mike Stump! | Chris Lattner | 2008-03-20 | 6 | -76/+76 |
| | | | | llvm-svn: 48577 | ||||
* | Keep track of analysis information inherited from Module pass manager. | Devang Patel | 2008-03-20 | 1 | -0/+4 |
| | | | | llvm-svn: 48576 | ||||
* | Add more patterns to match in the integer comparison test harnesses. | Scott Michel | 2008-03-20 | 3 | -9/+8 |
| | | | | | | | | Fix bugs encountered, mostly due to range matching for immediates; the CellSPU's 10-bit immediates are sign extended, covering a larger range of unsigned values. llvm-svn: 48575 | ||||
* | 80 col violation. | Evan Cheng | 2008-03-20 | 1 | -1/+2 |
| | | | | llvm-svn: 48573 | ||||
* | Add intrinsics to match mmx shift builtin's with immediate operand. | Evan Cheng | 2008-03-19 | 2 | -12/+13 |
| | | | | llvm-svn: 48569 | ||||
* | Add comment. | Devang Patel | 2008-03-19 | 1 | -0/+4 |
| | | | | llvm-svn: 48567 | ||||
* | #if 1 .. #endif markers do not add any value. | Devang Patel | 2008-03-19 | 1 | -2/+0 |
| | | | | llvm-svn: 48560 | ||||
* | Remove dead options. | Evan Cheng | 2008-03-19 | 2 | -20/+4 |
| | | | | llvm-svn: 48556 | ||||
* | PassInfo keep tracks whether a pass is an analysis pass or not. | Devang Patel | 2008-03-19 | 23 | -41/+47 |
| | | | | llvm-svn: 48554 | ||||
* | Add support for multiple return values for the PPC target by | Dan Gohman | 2008-03-19 | 2 | -146/+23 |
| | | | | | | | converting call result lowering to use the CallingConvLowering infastructure. llvm-svn: 48552 | ||||
* | Don't loose incoming argument registers. Fix documentation style. | Arnold Schwaighofer | 2008-03-19 | 3 | -9/+9 |
| | | | | llvm-svn: 48545 | ||||
* | Fix X86's isTruncateFree to not claim that truncate to i1 is free. This ↵ | Christopher Lamb | 2008-03-19 | 3 | -46/+27 |
| | | | | | | fixes Bill's testcase that failed for r48491. llvm-svn: 48542 | ||||
* | add some convenience methods for creating GEP instructions and | Chris Lattner | 2008-03-19 | 1 | -0/+11 |
| | | | | | | struct types. Patch by David Chisnall, with some tweaks. llvm-svn: 48531 | ||||
* | C bindings for Module-, Function-, and BasicBlock::iterator. | Gordon Henriksen | 2008-03-19 | 1 | -0/+135 |
| | | | | llvm-svn: 48528 | ||||
* | Fixed a coalescer bug caused by a typo. | Evan Cheng | 2008-03-19 | 1 | -1/+1 |
| | | | | llvm-svn: 48526 | ||||
* | C and Objective Caml bindings for the various getParent methods of the IR. | Gordon Henriksen | 2008-03-19 | 1 | -23/+47 |
| | | | | | | Based on Erick Tryzelaar's patch. llvm-svn: 48523 | ||||
* | Fix live variables issues: | Evan Cheng | 2008-03-19 | 1 | -6/+43 |
| | | | | | | | | | | | 1. If part of a register is re-defined, an implicit kill and an implicit def are added to denote read / mod / write. However, this should only be necessary if the register is actually read later. This is a performance issue. 2. If a sub-register is being defined, and it doesn't have a previous use, do not add a implicit kill to the last use of a super-register: = EAX, AX<imp-use,kill> ... AX = In this case, EAX is live but AX is killed, this is wrong and will cause the coalescer to do bad things. llvm-svn: 48521 | ||||
* | Do not use virtual function to identify an analysis pass. | Devang Patel | 2008-03-19 | 11 | -54/+13 |
| | | | | llvm-svn: 48520 | ||||
* | On Darwin, GCC issues a ".globl" for something that has a "visibility protected" | Bill Wendling | 2008-03-18 | 1 | -0/+1 |
| | | | | | | attribute instead of ".protected". llvm-svn: 48516 | ||||
* | Fix a x86-64 isel lowering bug that's been around forever. A x86-64 varargs ↵ | Evan Cheng | 2008-03-18 | 1 | -6/+10 |
| | | | | | | function implicitly reads X86::AL, don't clobber it! llvm-svn: 48515 | ||||
* | Temporarily revert r48491. It's breaking test/CodeGen/X86/xorl.ll. | Bill Wendling | 2008-03-18 | 1 | -26/+0 |
| | | | | llvm-svn: 48510 | ||||
* | Fix PR 2160 by making sure arguments to external functions get marked as ↵ | Daniel Berlin | 2008-03-18 | 1 | -18/+36 |
| | | | | | | pointing to anything llvm-svn: 48509 | ||||
* | Make conversions of i8/i16 to ppcf128 work. | Dale Johannesen | 2008-03-18 | 1 | -10/+13 |
| | | | | llvm-svn: 48493 |