| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | 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 | ||||
| * | Fix an issue where GVN was performing the return slot optimization when it was | Owen Anderson | 2008-02-25 | 1 | -8/+26 |
| | | | | | | | | not safe. This is fixed by more aggressively checking that the return slot is not used elsewhere in the function. llvm-svn: 47544 | ||||
| * | Fix an issue where GVN would try to use an instruction before its definition ↵ | Owen Anderson | 2008-02-25 | 1 | -0/+7 |
| | | | | | | | when performing return slot optimization. llvm-svn: 47541 | ||||
| * | Split ParameterAttributes.h, putting the complicated | Dale Johannesen | 2008-02-22 | 5 | -5/+5 |
| | | | | | | | | stuff into ParamAttrsList.h. Per feedback from ParamAttrs changes. llvm-svn: 47504 | ||||
| * | Fixed a typo. | Zhou Sheng | 2008-02-22 | 1 | -1/+1 |
| | | | | | llvm-svn: 47478 | ||||
| * | Add explicit keywords. | Dan Gohman | 2008-02-20 | 1 | -1/+1 |
| | | | | | llvm-svn: 47382 | ||||
| * | Fix newly-introduced 4.3 warnings | Anton Korobeynikov | 2008-02-20 | 2 | -3/+3 |
| | | | | | llvm-svn: 47375 | ||||
| * | Get rid of hash_map. Use StringMap instead | Anton Korobeynikov | 2008-02-20 | 1 | -3/+3 |
| | | | | | llvm-svn: 47373 | ||||
| * | Make Transforms to be 4.3 warnings-clean | Anton Korobeynikov | 2008-02-20 | 9 | -39/+58 |
| | | | | | llvm-svn: 47371 | ||||
| * | Unbreak build with gcc 4.3: provide missed includes and silence most ↵ | Anton Korobeynikov | 2008-02-20 | 2 | -1/+3 |
| | | | | | | | annoying warnings. llvm-svn: 47367 | ||||
| * | When performing return slot optimization, remember to inform memdep when ↵ | Owen Anderson | 2008-02-20 | 1 | -0/+1 |
| | | | | | | | we're removing the memcpy. llvm-svn: 47364 | ||||
| * | Expand ParameterAttributes to 32 bits (in preparation | Dale Johannesen | 2008-02-19 | 4 | -19/+31 |
| | | | | | | | | for adding alignment info, not there yet). Clean up interfaces to reference ParameterAttributes consistently. llvm-svn: 47342 | ||||
| * | remove the LowerSelect pass. The last client was the old Sparc backend, ↵ | Chris Lattner | 2008-02-19 | 6 | -110/+0 |
| | | | | | | | which is long dead by now. llvm-svn: 47323 | ||||
| * | remove the lower packed pass. It can never work and even the parts that | Chris Lattner | 2008-02-19 | 1 | -448/+0 |
| | | | | | | | | could work don't work fully. This fixes PR1705. Oh yeah, we don't have packed types anymore either ;-) llvm-svn: 47322 | ||||
| * | Refactor this method a bit, and correct a test that was completely wrong but ↵ | Owen Anderson | 2008-02-19 | 1 | -7/+11 |
| | | | | | | | happened to work out anyways. :-) llvm-svn: 47321 | ||||
| * | isa+cast -> dyncast. | Chris Lattner | 2008-02-19 | 1 | -2/+2 |
| | | | | | llvm-svn: 47320 | ||||
| * | simplify this code again, try 2 :) | Chris Lattner | 2008-02-19 | 1 | -7/+5 |
| | | | | | llvm-svn: 47319 | ||||
| * | Fix a comment. | Owen Anderson | 2008-02-19 | 1 | -1/+1 |
| | | | | | llvm-svn: 47318 | ||||
| * | Major improvements to yesterday's return slot optimization. Remove some ↵ | Owen Anderson | 2008-02-19 | 1 | -14/+39 |
| | | | | | | | | | unneccessary constraints, and add some others that should have been in from the first place. Document the whole thing better. llvm-svn: 47315 | ||||
| * | fdiv/frem of undef can produce undef, because the undef operand | Chris Lattner | 2008-02-19 | 1 | -4/+11 |
| | | | | | | | | can be a SNaN. We could be more aggressive and turn this into unreachable, but that is less nice, and not really worth it. llvm-svn: 47313 | ||||
| * | Factor the profitability check for return slot optimization out into a ↵ | Owen Anderson | 2008-02-19 | 1 | -14/+26 |
| | | | | | | | | | static function. At some point in the future, this check will become smarter. llvm-svn: 47310 | ||||
| * | An sret parameter is required to be the first parameter, so there's no need ↵ | Owen Anderson | 2008-02-19 | 1 | -8/+3 |
| | | | | | | | | | to loop over all the parameters of the callee looking for it. llvm-svn: 47309 | ||||

