- Apr 23, 2010
-
-
Chris Lattner authored
llvm-svn: 102153
-
Chris Lattner authored
that appear in the SCC as a result of inlining as candidates for inlining. Change this so that it *does* consider call sites that change from being indirect to being direct as a result of inlining. This allows it to completely "devirtualize" the testcase. llvm-svn: 102146
-
Chris Lattner authored
arguments are handled with a new InlineFunctionInfo class. This makes it easier to extend InlineFunction to return more info in the future. llvm-svn: 102137
-
- Apr 22, 2010
-
-
Chris Lattner authored
define void @f3(void (i8*)* %__f) ssp { entry: call void %__f(i8* undef) unreachable } define void @f4(i8* %this) ssp align 2 { entry: call void @f3(void (i8*)* @f2) ssp ret void } The inliner is turning the indirect call to %__f into a direct call to F2. Make the call graph more precise when this happens. The inliner doesn't revisit call sites introduced by inlining, so there isn't an easy way to test for this, but a more precise callgraph is a good thing. llvm-svn: 102131
-
Chris Lattner authored
llvm-svn: 102119
-
- Apr 21, 2010
-
-
Bob Wilson authored
GCCAS time for MultiSource/Benchmarks/ASCI_Purple/SMG2000. llvm-svn: 102009
-
Devang Patel authored
Rename ValueMapTy as ValueToValueMapTy to clearly indicate that this has no replationship with ADT/ValueMap. llvm-svn: 101950
-
Devang Patel authored
llvm-svn: 101949
-
- Apr 20, 2010
-
-
Gabor Greif authored
llvm-svn: 101899
-
Chris Lattner authored
loop unswitch, and use inst simplify instead. It is more powerful and less duplication. llvm-svn: 101874
-
Chris Lattner authored
inst simplify. No functionality change. llvm-svn: 101873
-
Chris Lattner authored
condition we're unswitching on. In this case, don't try to simplify the second copy of the loop which may be dead or not, but is probably a constant now. This fixes PR6879 llvm-svn: 101870
-
Chris Lattner authored
llvm-svn: 101846
-
rdar://7879828Chris Lattner authored
Arg promotion was deleting call graph nodes that still had references from the 'indirect' CGN. Like the inliner, it should only delete the function if all references are gone. llvm-svn: 101845
-
- Apr 19, 2010
-
-
Dan Gohman authored
just ask ScalarEvolution for it on demand. This helps IVUsers be more robust in the case of expressions changing underneath it. This fixes PR6862. llvm-svn: 101819
-
- Apr 17, 2010
-
-
Bob Wilson authored
to determine where to place PHIs by iteratively comparing reaching definitions at each block. That was just plain wrong. This version now computes the dominator tree within the subset of the CFG where PHIs may need to be placed, and then places the PHIs in the iterated dominance frontier of each definition. The rest of the patch is mostly the same, with a few more performance improvements added in. llvm-svn: 101612
-
Eric Christopher authored
Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. llvm-svn: 101579
-
Chris Lattner authored
to CallGraphSCCPass's instead of passing around a std::vector<CallGraphNode*>. No functionality change, but now we have a much tidier interface. llvm-svn: 101558
-
- Apr 16, 2010
-
-
Dan Gohman authored
callee is expected to be expanded to something else by codegen, so that normal infinitely recursive calls are still transformed. llvm-svn: 101468
-
Gabor Greif authored
with a fix for self-hosting rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101465
-
Chris Lattner authored
llvm-svn: 101437
-
Gabor Greif authored
llvm-svn: 101434
-
Chris Lattner authored
wanted the alignment of the pointee. llvm-svn: 101432
-
Chris Lattner authored
llvm-svn: 101429
-
Chris Lattner authored
place. llvm-svn: 101427
-
Chris Lattner authored
ConvertToScalarInfo. llvm-svn: 101425
-
Gabor Greif authored
llvm-svn: 101423
-
Chris Lattner authored
CanConvertToScalar/MergeInType. Eliminate a pointless LLVMContext argument to MergeInType. llvm-svn: 101422
-
- Apr 15, 2010
-
-
Chris Lattner authored
llvm-svn: 101405
-
Gabor Greif authored
with a fix rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101397
-
Anton Korobeynikov authored
llvm-svn: 101387
-
Dan Gohman authored
llvm-svn: 101376
-
Gabor Greif authored
llvm-svn: 101368
-
Gabor Greif authored
of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101364
-
Tobias Grosser authored
The commit "Adding IPSCCP and Internalize passes to the C-bindings" introduced new dependencies for IPO. Add these to the CMAKE build as otherwise the BUILD_SHARED_LIBS=1 build fails. llvm-svn: 101313
-
- Apr 14, 2010
-
-
Evan Cheng authored
- TryToOptimizeStoreOfMallocToGlobal should check if TargetData is available and bail out if it is not. The transformations being done requires TD. llvm-svn: 101285
-
Gabor Greif authored
llvm-svn: 101253
-
Gabor Greif authored
llvm-svn: 101250
-
Nick Lewycky authored
have been removed in r101231. llvm-svn: 101232
-
Nick Lewycky authored
llvm-svn: 101231
-