History log of /llvm-project/llvm/lib/Transforms/Utils/Local.cpp (Results 751 – 775 of 910)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# a97a2c99 21-Jun-2011 Jay Foad <jay.foad@gmail.com>

Reinstate r133435 and r133449 (reverted in r133499) now that the clang
self-hosted build failure has been fixed (r133512).

llvm-svn: 133513


# 184f3b37 21-Jun-2011 Chad Rosier <mcrosier@apple.com>

Revert r133435 and r133449 to appease buildbots.

llvm-svn: 133499


# e03c05c3 20-Jun-2011 Jay Foad <jay.foad@gmail.com>

Change how PHINodes store their operands.

Change PHINodes to store simple pointers to their incoming basic blocks,
instead of full-blown Uses.

Note that this loses an optimization in SplitCriticalE

Change how PHINodes store their operands.

Change PHINodes to store simple pointers to their incoming basic blocks,
instead of full-blown Uses.

Note that this loses an optimization in SplitCriticalEdge(), because we
can no longer walk the use list of a BasicBlock to find phi nodes. See
the comment I removed starting "However, the foreach loop is slow for
blocks with lots of predecessors".

Extend replaceAllUsesWith() on a BasicBlock to also update any phi
nodes in the block's successors. This mimics what would have happened
when PHINodes were proper Users of their incoming blocks. (Note that
this only works if OldBB->replaceAllUsesWith(NewBB) is called when
OldBB still has a terminator instruction, so it still has some
successors.)

llvm-svn: 133435

show more ...


# 19ace4c3 15-Jun-2011 Eli Friedman <eli.friedman@gmail.com>

Simplify; no significant functionality change.

llvm-svn: 133086


# 843bc7d6 24-May-2011 Cameron Zwarich <zwarich@apple.com>

Make LoadAndStorePromoter preserve debug info and create llvm.dbg.values when
promoting allocas to SSA variables. Fixes <rdar://problem/9479036>.

llvm-svn: 131953


# ad964559 22-May-2011 Frits van Bommel <fvbommel@gmail.com>

Add a parameter to ConstantFoldTerminator() that callers can use to ask it to also clean up the condition of any conditional terminator it folds to be unconditional, if that turns the condition into

Add a parameter to ConstantFoldTerminator() that callers can use to ask it to also clean up the condition of any conditional terminator it folds to be unconditional, if that turns the condition into dead code. This just means it calls RecursivelyDeleteTriviallyDeadInstructions() in strategic spots. It defaults to the old behavior.

I also changed -simplifycfg, -jump-threading and -codegenprepare to use this to produce slightly better code without any extra cleanup passes (AFAICT this was the only place in -simplifycfg where now-dead conditions of replaced terminators weren't being cleaned up). The only other user of this function is -sccp, but I didn't read that thoroughly enough to figure out whether it might be holding pointers to instructions that could be deleted by this.

llvm-svn: 131855

show more ...


# 8fa6ebf9 18-May-2011 Matt Beaumont-Gay <matthewbg@google.com>

fix typo

llvm-svn: 131543


# 1fabbe92 18-May-2011 Devang Patel <dpatel@apple.com>

Use IRBuiler while constant folding terminator.

llvm-svn: 131541


# 8e60ff11 16-May-2011 Devang Patel <dpatel@apple.com>

Preserve debug info for unused zero extended boolean argument.
Radar 9422775.

llvm-svn: 131422


# 72aa1a8a 28-Apr-2011 Devang Patel <dpatel@apple.com>

Remove DbgDeclare only if all uses are converted.

llvm-svn: 130431


# 6a85be25 19-Apr-2011 Jay Foad <jay.foad@gmail.com>

Trivial simplification.

llvm-svn: 129759


# 7c14a558 11-Apr-2011 Jay Foad <jay.foad@gmail.com>

Don't include Operator.h from InstrTypes.h.

llvm-svn: 129271


Revision tags: llvmorg-2.9.0
# b85c0caf 04-Apr-2011 Eli Friedman <eli.friedman@gmail.com>

Attempt to fix breakage from r128782 reported by Francois Pichet on
llvm-commits. (Not sure why it only breaks on Windows; maybe it has
something to do with the iterator representation...)

llvm-svn

Attempt to fix breakage from r128782 reported by Francois Pichet on
llvm-commits. (Not sure why it only breaks on Windows; maybe it has
something to do with the iterator representation...)

llvm-svn: 128802

show more ...


# 17bf4922 02-Apr-2011 Eli Friedman <eli.friedman@gmail.com>

PR9446: RecursivelyDeleteTriviallyDeadInstructions can delete the instruction
after the given instruction; make sure to handle that case correctly.
(It's difficult to trigger; the included testcase i

PR9446: RecursivelyDeleteTriviallyDeadInstructions can delete the instruction
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

show more ...


Revision tags: llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2
# 17bbd7f4 21-Mar-2011 Devang Patel <dpatel@apple.com>

Simplify.

llvm-svn: 128030


# 2c7ee270 18-Mar-2011 Devang Patel <dpatel@apple.com>

If an AllocaInst referred by DbgDeclareInst is used by a LoadInst then the LoadInst should also get a corresponding llvm.dbg.value intrinsic.

llvm-svn: 127924


# 3ac171d4 18-Mar-2011 Devang Patel <dpatel@apple.com>

Remove dead code.

llvm-svn: 127923


# c1431e6e 18-Mar-2011 Devang Patel <dpatel@apple.com>

Consider debug info intrinsics pointing to null value as dead instructions.

llvm-svn: 127922


# aad34d88 17-Mar-2011 Devang Patel <dpatel@apple.com>

Try to not lose variable's debug info during instcombine.
This is done by lowering dbg.declare intrinsic into dbg.value intrinsic.
Radar 9143931.

llvm-svn: 127834


# 8c0b16b0 17-Mar-2011 Devang Patel <dpatel@apple.com>

Refactor into a separate utility function.

llvm-svn: 127832


Revision tags: llvmorg-2.9.0-rc1
# e2017b6f 04-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

DenseMap<uintptr_t,...> doesn't allow all values as keys.

Avoid colliding with the sentinels, hopefully unbreaking
llvm-gcc-x86_64-linux-selfhost.

llvm-svn: 126982


# ecbbf082 21-Feb-2011 Duncan Sands <baldrick@free.fr>

If the phi node was used by an unreachable instruction that ends up using
itself without going via a phi node then we could return false here in
spite of making a change. Also, tweak the comment bec

If the phi node was used by an unreachable instruction that ends up using
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

show more ...


# 6dcd49bc 21-Feb-2011 Duncan Sands <baldrick@free.fr>

Simplify RecursivelyDeleteDeadPHINode. The only functionality change
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

Simplify RecursivelyDeleteDeadPHINode. The only functionality change
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

show more ...


# 183c24c5 20-Feb-2011 Nick Lewycky <nicholas@mxc.ca>

Make RecursivelyDeleteDeadPHINode delete a phi node that has no users and add a
test for that. With this change, test/CodeGen/X86/codegen-dce.ll no longer finds
any instructions to DCE, so delete the

Make RecursivelyDeleteDeadPHINode delete a phi node that has no users and add a
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

show more ...


# c8a15699 20-Feb-2011 Nick Lewycky <nicholas@mxc.ca>

Teach RecursivelyDeleteDeadPHINodes to handle multiple self-references. Patch
by Andrew Clinton!

llvm-svn: 126077


1...<<31323334353637