| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Skip functions that return multiple values. | Devang Patel | 2008-03-11 | 1 | -0/+3 |
| | | | | | llvm-svn: 48233 | ||||
| * | Become multiple return value aware. | Devang Patel | 2008-03-11 | 1 | -1/+5 |
| | | | | | | | | Right now, the pass does not optimize tail recursions involving multiple return values. llvm-svn: 48228 | ||||
| * | Add TODO reminder. | Devang Patel | 2008-03-11 | 1 | -0/+1 |
| | | | | | llvm-svn: 48227 | ||||
| * | Initial multiple return values support. | Devang Patel | 2008-03-11 | 1 | -19/+95 |
| | | | | | llvm-svn: 48210 | ||||
| * | Restore optimization that merges blocks when inline function | Devang Patel | 2008-03-10 | 1 | -6/+24 |
| | | | | | | | has single return value. llvm-svn: 48162 | ||||
| * | Simplify | Devang Patel | 2008-03-10 | 1 | -18/+15 |
| | | | | | llvm-svn: 48161 | ||||
| * | simplify | Devang Patel | 2008-03-10 | 1 | -2/+4 |
| | | | | | llvm-svn: 48160 | ||||
| * | Turn unwind_to into "unwinds to". | Nick Lewycky | 2008-03-10 | 4 | -4/+4 |
| | | | | | llvm-svn: 48123 | ||||
| * | Fix some compilation errors on msvc: | Ted Kremenek | 2008-03-09 | 1 | -0/+1 |
| | | | | | | | | | | - "Redefinition of I" (iterator masks previous definition) - include missing header file Patch by Argiris Kirtzidis! llvm-svn: 48115 | ||||
| * | And again. | Nick Lewycky | 2008-03-09 | 1 | -1/+2 |
| | | | | | llvm-svn: 48112 | ||||
| * | Braces belong here. No functionality change. | Nick Lewycky | 2008-03-09 | 1 | -1/+2 |
| | | | | | llvm-svn: 48111 | ||||
| * | SCCP also needs to be taught to follow unwind_to | Nick Lewycky | 2008-03-09 | 1 | -0/+4 |
| | | | | | llvm-svn: 48109 | ||||
| * | Don't eliminate blocks that are only reachable by unwind_to. | Nick Lewycky | 2008-03-09 | 1 | -2/+8 |
| | | | | | llvm-svn: 48106 | ||||
| * | Firstly, having a BranchInst isn't exclusive with having an unwind_to. | Nick Lewycky | 2008-03-09 | 1 | -5/+8 |
| | | | | | | | | Secondly, we have to check whether the branch is actually pointing to the block with the unwind in it. We could have gotten here because of the unwind_to alone. llvm-svn: 48099 | ||||
| * | A BB that unwind_to an "unwind" inst is that same as one that doesn't unwind_to | Nick Lewycky | 2008-03-09 | 1 | -1/+4 |
| | | | | | | | at all. llvm-svn: 48096 | ||||
| * | Update the block cloner which fixes bugpoint on code using unwind_to (phew!) | Nick Lewycky | 2008-03-09 | 6 | -14/+43 |
| | | | | | | | and also update the cloning interface's major user, the loop optimizations. llvm-svn: 48088 | ||||
| * | Update the inliner and simplifycfg to handle unwind_to. | Nick Lewycky | 2008-03-09 | 2 | -1/+22 |
| | | | | | llvm-svn: 48086 | ||||
| * | Two things. Preserve the unwind_to when splitting a BB. | Nick Lewycky | 2008-03-09 | 1 | -0/+1 |
| | | | | | | | | Add the ability to remove just one instance of a BB from a phi node. This fixes the compile error in the tree now. llvm-svn: 48085 | ||||
| * | Prune the unwind_to labels on BBs that don't need them. Another step in the | Nick Lewycky | 2008-03-09 | 1 | -3/+16 |
| | | | | | | | removal of invoke, PR1269. llvm-svn: 48084 | ||||
| * | Not all users of a BB are Instructions any more. | Nick Lewycky | 2008-03-08 | 1 | -1/+6 |
| | | | | | llvm-svn: 48047 | ||||
| * | Update inliner to handle functions that return multiple values. | Devang Patel | 2008-03-07 | 1 | -43/+52 |
| | | | | | llvm-svn: 48020 | ||||
| * | add a pass that can extract all kinds of global values, not just functions. ↵ | Andrew Lenharth | 2008-03-07 | 1 | -0/+174 |
| | | | | | | | Update llvm-extract to use it and optionally extract a global variable if you want it too llvm-svn: 48015 | ||||
| * | fix typos | Gabor Greif | 2008-03-06 | 2 | -2/+2 |
| | | | | | llvm-svn: 47994 | ||||
| * | Don't try to simplify urem and srem using arithmetic rules that don't work | Nick Lewycky | 2008-03-06 | 1 | -43/+96 |
| | | | | | | | under modulo (overflow). Fixes PR1933. llvm-svn: 47987 | ||||
| * | Skip, for now, callsites where use of sret argument is not dominated by ↵ | Devang Patel | 2008-03-05 | 1 | -0/+4 |
| | | | | | | | callsite. llvm-svn: 47980 | ||||
| * | Handle 'ret' with multiple values. | Devang Patel | 2008-03-05 | 1 | -11/+23 |
| | | | | | llvm-svn: 47965 | ||||
| * | Skip functions that return multiple values. | Devang Patel | 2008-03-05 | 1 | -0/+5 |
| | | | | | llvm-svn: 47924 | ||||
| * | Use while loop. | Devang Patel | 2008-03-04 | 1 | -3/+2 |
| | | | | | llvm-svn: 47909 | ||||
| * | Use cast instead of dyn_cast. | Devang Patel | 2008-03-04 | 1 | -2/+1 |
| | | | | | | | Update test to use multiple return value directly, instead of relying on -sretpromotion. llvm-svn: 47907 | ||||
| * | Filter nested structs | Devang Patel | 2008-03-04 | 1 | -0/+16 |
| | | | | | llvm-svn: 47906 | ||||
| * | Handle multiple return values. | Devang Patel | 2008-03-04 | 1 | -3/+15 |
| | | | | | llvm-svn: 47904 | ||||
| * | Use appropriate index to get the result value. | Devang Patel | 2008-03-04 | 1 | -1/+3 |
| | | | | | llvm-svn: 47897 | ||||
| * | Skip sret attribute while preparing attribute list for | Devang Patel | 2008-03-04 | 1 | -11/+21 |
| | | | | | | | new function and new call sites. llvm-svn: 47896 | ||||
| * | Increment counter that keeps track of total number of sret promoted. | Devang Patel | 2008-03-04 | 1 | -0/+1 |
| | | | | | llvm-svn: 47892 | ||||
| * | Skip declarations. | Devang Patel | 2008-03-04 | 1 | -1/+1 |
| | | | | | llvm-svn: 47890 | ||||
| * | Process externally visible functions also. Later on code generator will do ↵ | Devang Patel | 2008-03-04 | 1 | -2/+1 |
| | | | | | | | the right thing. llvm-svn: 47889 | ||||
| * | Collect statistics. | Devang Patel | 2008-03-04 | 1 | -5/+11 |
| | | | | | llvm-svn: 47888 | ||||
| * | s/isReturnStruct()/hasStructRetAttr()/g | Devang Patel | 2008-03-03 | 2 | -2/+2 |
| | | | | | llvm-svn: 47857 | ||||
| * | Preserve paramater attributes. | Devang Patel | 2008-03-03 | 1 | -2/+31 |
| | | | | | llvm-svn: 47847 | ||||
| * | allow specified inline threshold to be negative, as the value is | Chris Lattner | 2008-03-01 | 1 | -1/+1 |
| | | | | | | | itself sometimes negative. llvm-svn: 47786 | ||||
| * | Fix cut-n-pasto. | Devang Patel | 2008-02-29 | 1 | -19/+1 |
| | | | | | llvm-svn: 47777 | ||||
| * | Add pass to promote sret. | Devang Patel | 2008-02-29 | 1 | -0/+292 |
| | | | | | | | | | | | | | | | | | | | | This pass transforms %struct._Point = type { i32, i32, i32, i32, i32, i32 } define internal void @foo(%struct._Point* sret %agg.result) into %struct._Point = type { i32, i32, i32, i32, i32, i32 } define internal %struct._Point @foo() This pass updates foo() clients appropriately to use getresult instruction to extract return values. This pass is not yet ready for prime time. llvm-svn: 47776 | ||||
| * | fix a bug Anders ran into where scalarrepl would crash when promoting | Chris Lattner | 2008-02-29 | 1 | -57/+68 |
| | | | | | | | | | a union containing a vector and an array whose elements were smaller than the vector elements. this means we need to compile the load of the array elements into an extract element plus a truncate. llvm-svn: 47752 | ||||
| * | Refactor some code out of ConvertUsesToScalar into their own methods, no | Chris Lattner | 2008-02-29 | 1 | -148/+190 |
| | | | | | | | functionality change. llvm-svn: 47751 | ||||
| * | Folding or(fcmp,fcmp) only works if the operands of the fcmps are the same ↵ | Chris Lattner | 2008-02-29 | 1 | -1/+2 |
| | | | | | | | fp type. llvm-svn: 47750 | ||||
| * | Fix an issue where GVN had the sizes of the two memcpy's reverse, resulting | Owen Anderson | 2008-02-26 | 1 | -2/+2 |
| | | | | | | | in an invalid transformation. llvm-svn: 47639 | ||||
| * | fix http://llvm.org/bugs/show_bug.cgi?id=2097 | Gabor Greif | 2008-02-26 | 1 | -1/+1 |
| | | | | | llvm-svn: 47615 | ||||
| * | Fix for pr2093: direct operands aren't necessarily addresses, so don't | Eli Friedman | 2008-02-26 | 1 | -1/+2 |
| | | | | | | | try to simplify them. llvm-svn: 47610 | ||||
| * | De-tabify. | Bill Wendling | 2008-02-26 | 2 | -24/+24 |
| | | | | | llvm-svn: 47599 | ||||
| * | Fix PR2076. CodeGenPrepare now sinks address computation for inline asm memory | Evan Cheng | 2008-02-26 | 1 | -0/+55 |
| | | | | | | | operands into inline asm block. llvm-svn: 47589 | ||||

