| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Radar 9422775.
llvm-svn: 131422
|
|
|
|
| |
llvm-svn: 130431
|
|
|
|
| |
llvm-svn: 129759
|
|
|
|
| |
llvm-svn: 129271
|
|
|
|
|
|
|
| |
llvm-commits. (Not sure why it only breaks on Windows; maybe it has
something to do with the iterator representation...)
llvm-svn: 128802
|
|
|
|
|
|
|
|
|
|
|
| |
after the given instruction; make sure to handle that case correctly.
(It's difficult to trigger; the included testcase involves a dead
block, but I don't think that's a requirement.)
While I'm here, get rid of the unnecessary warning about
SimplifyInstructionsInBlock, since it should work correctly as far as I know.
llvm-svn: 128782
|
|
|
|
| |
llvm-svn: 128030
|
|
|
|
|
|
| |
LoadInst should also get a corresponding llvm.dbg.value intrinsic.
llvm-svn: 127924
|
|
|
|
| |
llvm-svn: 127923
|
|
|
|
| |
llvm-svn: 127922
|
|
|
|
|
|
|
| |
This is done by lowering dbg.declare intrinsic into dbg.value intrinsic.
Radar 9143931.
llvm-svn: 127834
|
|
|
|
| |
llvm-svn: 127832
|
|
|
|
|
|
|
| |
Avoid colliding with the sentinels, hopefully unbreaking
llvm-gcc-x86_64-linux-selfhost.
llvm-svn: 126982
|
|
|
|
|
|
|
|
|
|
|
|
| |
itself without going via a phi node then we could return false here in
spite of making a change. Also, tweak the comment because this method
can (and always could) return true without deleting the original phi node.
For example, if the phi node was used by a read-only invoke instruction
which is used by another phi node phi2 which is only used by and only uses
the invoke, then phi2 would be deleted but not the invoke instruction and
not the original phi node.
llvm-svn: 126129
|
|
|
|
|
|
|
|
| |
should be that if the phi is used by a side-effect free instruction with
no uses then the phi and the instruction now get zapped (checked by the
unittest).
llvm-svn: 126124
|
|
|
|
|
|
|
|
|
| |
test for that. With this change, test/CodeGen/X86/codegen-dce.ll no longer finds
any instructions to DCE, so delete the test.
Also renamed J and JP to I and IP in RecursivelyDeleteDeadPHINode.
llvm-svn: 126088
|
|
|
|
|
|
| |
by Andrew Clinton!
llvm-svn: 126077
|
|
|
|
|
|
|
|
|
|
| |
they all ready do). This removes two dominator recomputations prior to isel,
which is a 1% improvement in total llc time for 403.gcc.
The only potentially suspect thing is making GCStrategy recompute dominators if
it used a custom lowering strategy.
llvm-svn: 123064
|
|
|
|
| |
llvm-svn: 123025
|
|
|
|
| |
llvm-svn: 122642
|
|
|
|
| |
llvm-svn: 122556
|
|
|
|
| |
llvm-svn: 122554
|
|
|
|
|
|
|
| |
is trivially dead, since these have side effects. This makes the
(misnamed) MemoryUseIntrinsic class dead, so remove it.
llvm-svn: 120382
|
|
|
|
|
|
| |
rather than hasConstantValue.
llvm-svn: 119457
|
|
|
|
|
|
|
|
|
|
|
| |
- Eliminate redundant successors.
- Convert an indirectbr with one successor into a direct branch.
Also, generalize SimplifyCFG to be able to be run on a function entry block.
It knows quite a few simplifications which are applicable to the entry
block, and it only needs a few checks to avoid trouble with the entry block.
llvm-svn: 111060
|
|
|
|
|
|
|
|
| |
it *changing* the things it replaces, not just causing them
to drop to null. There is no functionality change yet, but
this is required for a subsequent patch.
llvm-svn: 108414
|
|
|
|
| |
llvm-svn: 108132
|
|
|
|
|
|
|
| |
lib/Transforms/Utils and into lib/Analysis so that Analysis passes
can use them.
llvm-svn: 104949
|
|
|
|
|
|
|
| |
and T->isPointerTy(). Convert most instances of the first form to the second form.
Requested by Chris.
llvm-svn: 96344
|
|
|
|
|
|
| |
called by jump threading.
llvm-svn: 96263
|
|
|
|
|
|
|
| |
The testcase from pr6198 does not crash for me -- I don't know what's up with
that -- so I'm not adding it to the tests.
llvm-svn: 94984
|
|
|
|
|
|
|
| |
unconditionally. Besides checking the offset, also check that the underlying
object is aligned as much as the load itself.
llvm-svn: 94875
|
|
|
|
| |
llvm-svn: 94835
|
|
|
|
|
|
|
| |
indices are safe if the result is known to be within the bounds of the
underlying object.
llvm-svn: 94829
|
|
|
|
|
|
| |
looking for them in use iterations and remove OnlyUsedByDbgInfoIntrinsics()
llvm-svn: 94111
|
|
|
|
| |
llvm-svn: 93251
|
|
|
|
| |
llvm-svn: 92739
|
|
|
|
|
|
| |
non-zero trip count. Use SmallVector's pop_back_val().
llvm-svn: 92734
|
|
|
|
|
|
|
| |
RecursivelyDeleteDeadPHINode, and DeleteDeadPHIs return a flag
indicating whether they made any changes.
llvm-svn: 92732
|
|
|
|
| |
llvm-svn: 92606
|
|
|
|
| |
llvm-svn: 92260
|
|
|
|
| |
llvm-svn: 90324
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
llvm.invariant.start to be used without necessarily being paired with a call
to llvm.invariant.end. If you run the entire optimization pipeline then such
calls are in fact deleted (adce does it), but that's actually a good thing since
we probably do want them to be zapped late in the game. There should really be
an integration test that checks that the llvm.invariant.start call lasts long
enough that all passes that do interesting things with it get to do their stuff
before it is deleted. But since no passes do anything interesting with it yet
this will have to wait for later.
llvm-svn: 86840
|
|
|
|
|
|
| |
into libanalysis and transformutils.
llvm-svn: 86735
|
|
|
|
| |
llvm-svn: 86666
|
|
|
|
| |
llvm-svn: 85863
|
|
|
|
| |
llvm-svn: 85704
|
|
|
|
| |
llvm-svn: 85286
|
|
|
|
|
|
| |
to free()
llvm-svn: 85181
|
|
|
|
|
|
|
| |
Remove LowerAllocations pass.
Update some more passes to treate free calls just like they were treating FreeInst.
llvm-svn: 85176
|