- Nov 30, 2010
-
-
Chris Lattner authored
about pairs of AA::Location's instead of looking for MemDep's "Def" predicate. This is more powerful and general, handling memset/memcpy/store all uniformly, and implementing PR8701 and probably obsoleting parts of memcpyoptimizer. This also fixes an obscure bug with init.trampoline and i8 stores, but I'm not surprised it hasn't been hit yet. Enhancing init.trampoline to carry the size that it stores would allow DSE to be much more aggressive about optimizing them. llvm-svn: 120406
-
Chris Lattner authored
llvm-svn: 120405
-
Eric Christopher authored
Fixes PR8573. llvm-svn: 120404
-
Anders Carlsson authored
llvm-svn: 120398
-
Anders Carlsson authored
llvm-svn: 120394
-
Anders Carlsson authored
llvm-svn: 120393
-
Chris Lattner authored
llvm-svn: 120391
-
Nick Lewycky authored
unbreaks test/Transforms/InstCombine/invariant.ll which was broken by r120382. This is a fix-forward to do what I think Chris intended. llvm-svn: 120388
-
Jakob Stoklund Olesen authored
This analysis is going to run immediately after LiveIntervals. It will stay alive during register allocation and keep track of user variables mentioned in DBG_VALUE instructions. When the register allocator is moving values between registers and the stack, it is very hard to keep track of DBG_VALUE instructions. We usually get it wrong. This analysis maintains a data structure that makes it easy to update DBG_VALUE instructions. llvm-svn: 120385
-
Chris Lattner authored
llvm-svn: 120383
-
Chris Lattner authored
is trivially dead, since these have side effects. This makes the (misnamed) MemoryUseIntrinsic class dead, so remove it. llvm-svn: 120382
-
Chris Lattner authored
llvm-svn: 120381
-
Chris Lattner authored
llvm-svn: 120380
-
Chris Lattner authored
remove an actively-wrong comment. llvm-svn: 120378
-
Chris Lattner authored
It can be seriously improved, but at least now it isn't intertwined with the other logic. llvm-svn: 120377
-
Chris Lattner authored
llvm-svn: 120375
-
Chris Lattner authored
Merge context-sensitive.ll -> simple.ll and upgrade it. llvm-svn: 120374
-
Chris Lattner authored
merging more into other larger .ll files, filecheckizing along the way. llvm-svn: 120373
-
Bill Wendling authored
llvm-svn: 120372
-
Bill Wendling authored
llvm-svn: 120371
-
Chris Lattner authored
queried location doesn't overlap the source, and add a testcase. llvm-svn: 120370
-
Bill Wendling authored
able to match this yet. llvm-svn: 120369
-
Chris Lattner authored
contains "ref". Enhance DSE to use a modref query instead of a store-specific hack to generalize the "ignore may-alias stores" optimization to handle memset and memcpy. llvm-svn: 120368
-
Jim Grosbach authored
and which are pseudos. llvm-svn: 120366
-
Bill Wendling authored
llvm-svn: 120365
-
Owen Anderson authored
llvm-svn: 120364
-
Chris Lattner authored
stores, fix and add a testcase. llvm-svn: 120363
-
Jim Grosbach authored
llvm-svn: 120362
-
Bill Wendling authored
llvm-svn: 120361
-
Bill Wendling authored
llvm-svn: 120360
-
Chris Lattner authored
1. Don't bother trying to optimize: lifetime.end(ptr) store(ptr) as it is undefined, and therefore shouldn't exist. 2. Move the 'storing a loaded pointer' xform up, simplifying the may-aliased store code. llvm-svn: 120359
-
Bob Wilson authored
The only reasonable way I could find to do this is to provide an alternate version of the addrmode6 operand with a different encoding function. Use it for all the VLD-dup instructions for the sake of consistency. llvm-svn: 120358
-
Bob Wilson authored
in an attempt to make things a little more consistent. llvm-svn: 120357
-
Bob Wilson authored
The encoding for alignment in VLD4-dup instructions is still a work in progress. llvm-svn: 120356
-
Jim Grosbach authored
llvm-svn: 120354
-
Jim Grosbach authored
llvm-svn: 120353
-
Jim Grosbach authored
llvm-svn: 120350
-
Michael J. Spencer authored
llvm-svn: 120349
-
Michael J. Spencer authored
llvm-svn: 120348
-
Chris Lattner authored
llvm-svn: 120347
-