- Oct 29, 2008
-
-
Chris Lattner authored
I don't really see this as being needed, but there is little harm from doing it. llvm-svn: 58385
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 58355
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 58352
-
- Oct 28, 2008
-
-
Dan Gohman authored
llvm-svn: 58351
-
- Oct 27, 2008
-
-
Torok Edwin authored
that need it to require it by ID. llvm-svn: 58238
-
Chris Lattner authored
LargeBlockInfo, we can now dramatically simplify their implementation and speed them up at the same time. Now the code has time proportional to the number of uses of the alloca, not the size of the block. This also eliminates code that tried to batch up different allocas which are used in the same blocks, and eliminates the 'retry list' logic which was baroque and no unneccesary. In addition to being a speedup for crazy cases, this is also a nice cleanup: PromoteMemoryToRegister.cpp | 270 +++++++++++++++----------------------------- 1 file changed, 96 insertions(+), 174 deletions(-) llvm-svn: 58229
-
Chris Lattner authored
a trivial dense map. Use this in RewriteSingleStoreAlloca to avoid aggressively rescanning blocks over and over again. This fixes PR2925, speeding up mem2reg on the testcase in that bug from 4.56s to 0.02s in a debug build on my machine. llvm-svn: 58227
-
- Oct 24, 2008
-
-
Nick Lewycky authored
Understand that mul %x, 1 = %x. llvm-svn: 58069
-
- Oct 23, 2008
-
-
Daniel Dunbar authored
LoopPass*. - Although less precise, this means they can be used in clients without RTTI (who would otherwise need to include LoopPass.h, which eventually includes things using dynamic_cast). This was the simplest solution that presented itself, but I am happy to use a better one if available. llvm-svn: 58010
-
- Oct 21, 2008
-
-
Dan Gohman authored
llvm-svn: 57870
-
Dan Gohman authored
llvm-svn: 57864
-
- Oct 17, 2008
-
-
Dan Gohman authored
llvm-svn: 57660
-
- Oct 16, 2008
-
-
Dan Gohman authored
to find opportunities for store-to-load forwarding or load CSE, in the same way that visitStore scans back to do DSE. Also, define a new helper function for testing whether the addresses of two memory accesses are known to have the same value, and use it in both visitStore and visitLoad. These two changes allow instcombine to eliminate loads in code produced by front-ends that frequently emit obviously redundant addressing for memory references. llvm-svn: 57608
-
- Oct 14, 2008
-
-
Evan Cheng authored
llvm-svn: 57515
-
Evan Cheng authored
- Renumber fcmp predicates to match their icmp counterparts. - Try swapping operands to expose more optimization opportunities. llvm-svn: 57513
-
Evan Cheng authored
ord && olt -> olt ord && ueq -> oeq llvm-svn: 57507
-
- Oct 13, 2008
-
-
Matthijs Kooijman authored
constant expression with all zero indices as being the same as a bitcast. llvm-svn: 57442
-
- Oct 12, 2008
-
-
Chris Lattner authored
a couple other cases for clarity, but shouldn't affect correctness. Patch by Eli Friedman! llvm-svn: 57387
-
- Oct 11, 2008
-
-
Devang Patel authored
This patch fixes PR 2869 llvm-svn: 57369
-
- Oct 10, 2008
-
-
Nuno Lopes authored
llvm-svn: 57353
-
Dale Johannesen authored
and APFloat::convertToInteger. Restore return value to IEEE754. Adjust all users accordingly. llvm-svn: 57329
-
- Oct 09, 2008
-
-
Nick Lewycky authored
llvm-svn: 57320
-
- Oct 08, 2008
-
-
Nuno Lopes authored
llvm-svn: 57305
-
Duncan Sands authored
Patch by Samuel Tardieu. llvm-svn: 57291
-
Chris Lattner authored
patch by Samuel Tardieu! llvm-svn: 57288
-
- Oct 07, 2008
-
-
Andrew Lenharth authored
llvm-svn: 57254
-
Devang Patel authored
llvm-svn: 57221
-
- Oct 06, 2008
-
-
Matthijs Kooijman authored
This includes not marking a GEP involving a vector as unsafe, but only when it has all zero indices. This allows scalarrepl to work in a few more cases. llvm-svn: 57177
-
- Oct 05, 2008
-
-
Chris Lattner authored
shifting and masking inside a bswap expr. This allows it to handle the cases from PR2842, which involve the intermediate 'or' expressions being shifted, not just the input value. llvm-svn: 57095
-
Chris Lattner authored
ashr. It should only apply to lshr. llvm-svn: 57089
-
- Oct 04, 2008
-
-
Duncan Sands authored
when deciding whether to mark a function readnone/readonly. Since the pass is currently run before SROA, this may be quite helpful. Requested by Chris on IRC. llvm-svn: 57050
-
Dan Gohman authored
applicable. llvm-svn: 57033
-
- Oct 03, 2008
-
-
Devang Patel authored
While hosting instruction check PHI node. llvm-svn: 57025
-
Duncan Sands authored
Why? Because it was there! llvm-svn: 56996
-
Owen Anderson authored
llvm-svn: 56994
-
- Oct 01, 2008
-
-
Duncan Sands authored
pointer bitcasts and GEP's", and centralize the logic in Value::getUnderlyingObject. The difference with stripPointerCasts is that stripPointerCasts only strips GEPs if all indices are zero, while getUnderlyingObject strips GEPs no matter what the indices are. llvm-svn: 56922
-
Nuno Lopes authored
llvm-svn: 56917
-
Dan Gohman authored
instruction, not after. This fixes some uses of free'd memory. llvm-svn: 56908
-
Nuno Lopes authored
llvm-svn: 56887
-
- Sep 30, 2008
-
-
Nuno Lopes authored
llvm-svn: 56868
-