aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/IPO
AgeCommit message (Expand)Author
2008-08-14Replace two for loops with while(!X->use_empty()) loops. This preventsMatthijs Kooijman
2008-08-12Remove tabs.Bill Wendling
2008-08-07Let SRETPromotion properly preserve the function name instead of (implicitly)Matthijs Kooijman
2008-08-07Fix SRETPromotion, it was generating functions without returns statements sinceMatthijs Kooijman
2008-08-07Add some debug output to SRETPromotion.Matthijs Kooijman
2008-07-29Restructure ArgumentPromotion a bit. Instead of just having a single booleanMatthijs Kooijman
2008-07-23Enable first-class aggregates support.Dan Gohman
2008-07-17Make GlobalOpt preserve address spaces when scalar replacing aggregate globals.Matthijs Kooijman
2008-07-15Allow deadargelim to change return types even though now values were dead. ThisMatthijs Kooijman
2008-07-15Revert r53606. It turns out that explicitely tracking the liveness of theMatthijs Kooijman
2008-07-15Make deadargelim a bit less smart, so it doesn't choke on nested structs asMatthijs Kooijman
2008-07-15Don't use isa when we can reuse a previous dyn_cast.Matthijs Kooijman
2008-07-15Make DeadArgElim keep liveness of the return value as a whole in addition toMatthijs Kooijman
2008-07-15Let DAE keep a list of live functions, instead of simply marking all argumentsMatthijs Kooijman
2008-07-15Split DAE::MarkLive into MarkLive and PropagateLiveness.Matthijs Kooijman
2008-07-15Pass around const RetOrArg references instead of copying values. Also, markMatthijs Kooijman
2008-07-15Simplify debug code by using RetOrArg::getDescription().Matthijs Kooijman
2008-07-15Fix indentation (intentionally left out of the previous commit).Matthijs Kooijman
2008-07-15Move the deadargelim code for intrinsically alive functions into its ownMatthijs Kooijman
2008-07-11Use find instead of lower_bound.Dan Gohman
2008-07-10Restructure dead argument elimination, try #3 :-)Matthijs Kooijman
2008-06-25Restore DeadArgElim back to 52570. It's breaking 447.dealII.Evan Cheng
2008-06-25Pacify gcc-4.3.Duncan Sands
2008-06-25Fix a (false) warning on darwin.Matthijs Kooijman
2008-06-25Fix some cosmetics in comments.Matthijs Kooijman
2008-06-24Commit the new DeadArgElim pass again, this time with the gcc bootstrap failu...Matthijs Kooijman
2008-06-24Rename a few variables to be more consistent.Matthijs Kooijman
2008-06-21Use Instruction::eraseFromParent().Dan Gohman
2008-06-21Back out Matthijs' DAE patches. It's miscompiling gcc driver.Evan Cheng
2008-06-2080 column and trailing whitespace fixes.Matthijs Kooijman
2008-06-20Don't let DeadArgumentElimination attempt to update callers when the returnMatthijs Kooijman
2008-06-20Don't let DeadArgElimination change the return type ({} into void and {T}Matthijs Kooijman
2008-06-20Explicitely track if any arguments or return values were removed inMatthijs Kooijman
2008-06-20Remove debug output.Matthijs Kooijman
2008-06-20Recommit r52459, rewriting of the dead argument elimination pass.Matthijs Kooijman
2008-06-19Use the common API for adding instructions to basic blocks instead ofDan Gohman
2008-06-19Use a CallSite to find the nth argument of a call/invoke instruction instead ofMatthijs Kooijman
2008-06-18Revert r52459, which was causing an infinite loop or massive slowdown on Mult...Owen Anderson
2008-06-18Rewrite the DeadArgumentElimination pass, to use a more explicit tracking ofMatthijs Kooijman
2008-06-18Reapply r52397 (make IPConstProp promote returned arguments), but fixed thisMatthijs Kooijman
2008-06-18Reapply r52396, it was unrelated to the breakage (that was caused by r52397, myMatthijs Kooijman
2008-06-17revert recent patch which is causing widespread breakage.Chris Lattner
2008-06-17Learn IPConstProp to propagate arguments that are directly returned. StrictlyMatthijs Kooijman
2008-06-17Learn IPConstProp to look at individual return values and propagate themMatthijs Kooijman
2008-06-09Fix PR2411, where ip constant prop would propagate theChris Lattner
2008-06-05Let StructRetPromotion check if all if its users are really calls or invokesn,Matthijs Kooijman
2008-06-05Let StructRetPromotion check if it's users are really calling it and notMatthijs Kooijman
2008-06-05Use use_iterator::getOperandNo instead of CallSite::hasArgument to check if aMatthijs Kooijman
2008-06-04Replace two manual loops with calls to CallSite::hasArguments (no functional ...Matthijs Kooijman
2008-05-30Use eraseFromParent() instead of doing that manually in two places.Matthijs Kooijman