- Oct 25, 2009
-
-
Nick Lewycky authored
VISIBILITY_HIDDEN removal. llvm-svn: 85043
-
Nick Lewycky authored
Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042
-
Nick Lewycky authored
CmpInst::isSigned. llvm-svn: 85037
-
Dan Gohman authored
llvm-svn: 85020
-
Dan Gohman authored
used elsewhere - an exit block is a block outside the loop branched to from within the loop. An exiting block is a block inside the loop that branches out. llvm-svn: 85019
-
Dan Gohman authored
llvm-svn: 85016
-
- Oct 24, 2009
-
-
Victor Hernandez authored
Update all analysis passes and transforms to treat free calls just like FreeInst. Remove RaiseAllocations and all its tests since FreeInst no longer needs to be raised. llvm-svn: 84987
-
- Oct 23, 2009
-
-
Victor Hernandez authored
Remove AllocationInst. Since MallocInst went away, AllocaInst is the only subclass of AllocationInst, so it no longer is necessary. llvm-svn: 84969
-
Dan Gohman authored
exact backedge taken count, when checking for infinite loops. This allows it to delete loops with multiple exit conditions. llvm-svn: 84952
-
- Oct 22, 2009
-
-
Chris Lattner authored
llvm-svn: 84841
-
Chris Lattner authored
to libanalysis. Instcombine shrinking... does this even make sense??? llvm-svn: 84840
-
Chris Lattner authored
Analysis/ConstantFolding.cpp. This doesn't change the behavior of instcombine but makes other clients of ConstantFoldInstruction able to handle loads. This was partially extracted from Eli's patch in PR3152. llvm-svn: 84836
-
Chris Lattner authored
llvm-svn: 84810
-
Devang Patel authored
llvm-svn: 84801
-
Chris Lattner authored
patches for fixes like this instead of committing them directly. llvm-svn: 84799
-
- Oct 21, 2009
-
-
Victor Hernandez authored
Most changes are cleanup, but there is 1 correctness fix: I fixed InstCombine so that the icmp is removed only if the malloc call is removed (which requires explicit removal because the Worklist won't DCE any calls since they can have side-effects). llvm-svn: 84772
-
Torok Edwin authored
in the PHI's Basic Block. This uses a conservative approach, because we don't have dominator info in instcombine. llvm-svn: 84754
-
Chris Lattner authored
"In the existing code, if the load and the value to replace it with are of different types *and* target data is available, it tries to use the target data to coerce the replacement value to the type of the load. Otherwise, it skips all effort to handle the type mismatch and just feeds the wrongly-typed replacement value to replaceAllUsesWith, which triggers an assertion. The patch replaces it with an outer if checking for type mismatch, and an inner if-else that checks whether target data is available and, if not, returns false rather than trying to replace the load." Patch by Kenneth Uildriks! llvm-svn: 84739
-
Devang Patel authored
llvm-svn: 84731
-
- Oct 20, 2009
-
-
Chris Lattner authored
llvm-svn: 84667
-
Dan Gohman authored
the estimated code size and the number of blocks when deciding whether to do a non-trivial unswitch. This protects it from some very undesirable worst-case behavior on large numbers of loop-unswitchable conditions, such as in the testcase in PR5259. llvm-svn: 84661
-
Torok Edwin authored
When an incoming value for a PHI is updated, we must also updated all other incoming values for the same BB to match, otherwise we create invalid PHIs. llvm-svn: 84638
-
Torok Edwin authored
when the invoke had multiple return values: it set the lattice value only on the extractvalue. This caused the invoke's lattice value to remain the default (undefined), and later propagated to extractvalue's operand, which incorrectly introduces undefined behavior. llvm-svn: 84637
-
Owen Anderson authored
numbering first class aggregate instructions while we're at it. llvm-svn: 84547
-
- Oct 19, 2009
-
-
Victor Hernandez authored
Malloc calls are marked NoAlias, so the code below the isMalloc() check makes it redundant. Removing the isMalloc() check. llvm-svn: 84541
-
Owen Anderson authored
llvm-svn: 84533
-
Dan Gohman authored
where a loop's header is being split and it has predecessors which are not contained by the most-nested loop which contains the loop. This fixes PR5235. llvm-svn: 84505
-
Dan Gohman authored
to name basic blocks "bb" instead of "BB", for consistency. llvm-svn: 84502
-
- Oct 18, 2009
-
-
Chris Lattner authored
instructions. llvm-svn: 84404
-
- Oct 17, 2009
-
-
Daniel Dunbar authored
llvm-svn: 84356
-
Chris Lattner authored
updating the callgraph when introducing a call. llvm-svn: 84310
-
Victor Hernandez authored
llvm-svn: 84299
-
Victor Hernandez authored
Update testcases that rely on malloc insts being present. Also prematurely remove MallocInst handling from IndMemRemoval and RaiseAllocations to help pass tests in this incremental step. llvm-svn: 84292
-
Victor Hernandez authored
llvm-svn: 84288
-
- Oct 16, 2009
-
-
Dan Gohman authored
load, to help SelectionDAG fold them into the loads, unless conditions are unfavorable. llvm-svn: 84271
-
Duncan Sands authored
llvm-svn: 84256
-
- Oct 15, 2009
-
-
Victor Hernandez authored
Fix bug where array malloc with unexpected computation of the size argument resulted in MallocHelper identifying the malloc as a non-array malloc. This broke GlobalOpt's optimization of stores of mallocs to global variables. The fix is to classify malloc's into 3 categories: 1. non-array mallocs 2. array mallocs whose array size can be determined 3. mallocs that cannot be determined to be of type 1 or 2 and cannot be optimized getMallocArraySize() returns NULL for category 3, and all users of this function must avoid their malloc optimization if this function returns NULL. Eventually, currently unexpected codegen for computing the malloc's size argument will be supported in isArrayMalloc() and getMallocArraySize(), extending malloc optimizations to those examples. llvm-svn: 84199
-
Chris Lattner authored
don't bother every time going around the main worklist. This speeds up a release-asserts opt -std-compile-opts on 403.gcc by about 4% (1.5s). It seems to speed up the most expensive instances of instcombine by ~10%. llvm-svn: 84171
-
Chris Lattner authored
instruction (which disqualifies stores, unreachable, etc) and at least the first operand is a constant. This filters out a lot of obvious cases that can't be folded. Also, switch the IRBuilder to a TargetFolder, which tries harder. llvm-svn: 84170
-
- Oct 14, 2009
-
-
Devang Patel authored
llvm-svn: 84118
-