History log of /llvm-project/llvm/lib/Transforms/Utils/Local.cpp (Results 676 – 700 of 910)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 03eb0de9 04-Mar-2014 Chandler Carruth <chandlerc@gmail.com>

[Modules] Move GetElementPtrTypeIterator into the IR library. As its
name might indicate, it is an iterator over the types in an instruction
in the IR.... You see where this is going.

Another step o

[Modules] Move GetElementPtrTypeIterator into the IR library. As its
name might indicate, it is an iterator over the types in an instruction
in the IR.... You see where this is going.

Another step of modularizing the support library.

llvm-svn: 202815

show more ...


# 73523021 13-Jan-2014 Chandler Carruth <chandlerc@gmail.com>

[PM] Split DominatorTree into a concrete analysis result object which
can be used by both the new pass manager and the old.

This removes it from any of the virtual mess of the pass interfaces and
le

[PM] Split DominatorTree into a concrete analysis result object which
can be used by both the new pass manager and the old.

This removes it from any of the virtual mess of the pass interfaces and
lets it derive cleanly from the DominatorTreeBase<> template. In turn,
tons of boilerplate interface can be nuked and it turns into a very
straightforward extension of the base DominatorTree interface.

The old analysis pass is now a simple wrapper. The names and style of
this split should match the split between CallGraph and
CallGraphWrapperPass. All of the users of DominatorTree have been
updated to match using many of the same tricks as with CallGraph. The
goal is that the common type remains the resulting DominatorTree rather
than the pass. This will make subsequent work toward the new pass
manager significantly easier.

Also in numerous places things became cleaner because I switched from
re-running the pass (!!! mid way through some other passes run!!!) to
directly recomputing the domtree.

llvm-svn: 199104

show more ...


# 5ad5f15c 13-Jan-2014 Chandler Carruth <chandlerc@gmail.com>

[cleanup] Move the Dominators.h and Verifier.h headers into the IR
directory. These passes are already defined in the IR library, and it
doesn't make any sense to have the headers in Analysis.

Long

[cleanup] Move the Dominators.h and Verifier.h headers into the IR
directory. These passes are already defined in the IR library, and it
doesn't make any sense to have the headers in Analysis.

Long term, I think there is going to be a much better way to divide
these matters. The dominators code should be fully separated into the
abstract graph algorithm and have that put in Support where it becomes
obvious that evn Clang's CFGBlock's can use it. Then the verifier can
manually construct dominance information from the Support-driven
interface while the Analysis library can provide a pass which both
caches, reconstructs, and supports a nice update API.

But those are very long term, and so I don't want to leave the really
confusing structure until that day arrives.

llvm-svn: 199082

show more ...


Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3
# a41a7b3e 10-Dec-2013 Justin Bogner <mail@justinbogner.com>

Transforms: Don't create bad branch weights when folding a switch

This avoids creating branch weight metadata of length one when we fold
cases into the default of a switch instruction, which was tri

Transforms: Don't create bad branch weights when folding a switch

This avoids creating branch weight metadata of length one when we fold
cases into the default of a switch instruction, which was triggering
an assert.

llvm-svn: 196845

show more ...


Revision tags: llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1
# 8e10fdbc 18-Nov-2013 Adrian Prantl <aprantl@apple.com>

Debug info: Let LowerDbgDeclare perfom the dbg.declare -> dbg.value
lowering only for load/stores to scalar allocas. The resulting values
confuse the backend and don't add anything because we can des

Debug info: Let LowerDbgDeclare perfom the dbg.declare -> dbg.value
lowering only for load/stores to scalar allocas. The resulting values
confuse the backend and don't add anything because we can describe
array-allocas with a dbg.declare intrinsic just fine.

rdar://problem/15464571

llvm-svn: 195052

show more ...


# 90dd90af 21-Oct-2013 Bill Wendling <isanbard@gmail.com>

Don't eliminate a partially redundant load if it's in a landing pad.

A landing pad can be jumped to only by the unwind edge of an invoke
instruction. If we eliminate a partially redundant load in a

Don't eliminate a partially redundant load if it's in a landing pad.

A landing pad can be jumped to only by the unwind edge of an invoke
instruction. If we eliminate a partially redundant load in a landing pad, it
will create a basic block that violates this constraint. It then leads to other
problems down the line if it tries to merge that basic block with the landing
pad. Avoid this by not eliminating the load in a landing pad.

PR17621

llvm-svn: 193064

show more ...


# 4fea22c6 19-Oct-2013 Bill Wendling <isanbard@gmail.com>

Perform an intelligent splice of the predecessor with the single successor.

If the predecessor's being spliced into a landing pad, then we need the PHIs to
come first and the rest of the predecessor

Perform an intelligent splice of the predecessor with the single successor.

If the predecessor's being spliced into a landing pad, then we need the PHIs to
come first and the rest of the predecessor's code to come *after* the landing
pad instruction.

llvm-svn: 193035

show more ...


# ea564946 02-Oct-2013 Chandler Carruth <chandlerc@gmail.com>

Remove the very substantial, largely unmaintained legacy PGO
infrastructure.

This was essentially work toward PGO based on a design that had several
flaws, partially dating from a time when LLVM had

Remove the very substantial, largely unmaintained legacy PGO
infrastructure.

This was essentially work toward PGO based on a design that had several
flaws, partially dating from a time when LLVM had a different
architecture, and with an effort to modernize it abandoned without being
completed. Since then, it has bitrotted for several years further. The
result is nearly unusable, and isn't helping any of the modern PGO
efforts. Instead, it is getting in the way, adding confusion about PGO
in LLVM and distracting everyone with maintenance on essentially dead
code. Removing it paves the way for modern efforts around PGO.

Among other effects, this removes the last of the runtime libraries from
LLVM. Those are being developed in the separate 'compiler-rt' project
now, with somewhat different licensing specifically more approriate for
runtimes.

llvm-svn: 191835

show more ...


# 30d249a1 24-Sep-2013 Benjamin Kramer <benny.kra@googlemail.com>

Push analysis passes to InstSimplify when they're around anyways.

llvm-svn: 191309


# e407736a 09-Sep-2013 Bob Wilson <bob.wilson@apple.com>

Revert patches to add case-range support for PR1255.

The work on this project was left in an unfinished and inconsistent state.
Hopefully someone will eventually get a chance to implement this featu

Revert patches to add case-range support for PR1255.

The work on this project was left in an unfinished and inconsistent state.
Hopefully someone will eventually get a chance to implement this feature, but
in the meantime, it is better to put things back the way the were. I have
left support in the bitcode reader to handle the case-range bitcode format,
so that we do not lose bitcode compatibility with the llvm 3.3 release.

This reverts the following commits: 155464, 156374, 156377, 156613, 156704,
156757, 156804 156808, 156985, 157046, 157112, 157183, 157315, 157384, 157575,
157576, 157586, 157612, 157810, 157814, 157815, 157880, 157881, 157882, 157884,
157887, 157901, 158979, 157987, 157989, 158986, 158997, 159076, 159101, 159100,
159200, 159201, 159207, 159527, 159532, 159540, 159583, 159618, 159658, 159659,
159660, 159661, 159703, 159704, 160076, 167356, 172025, 186736

llvm-svn: 190328

show more ...


# a2626555 14-Aug-2013 Mark Lacey <mark.lacey@apple.com>

Fix small typo: s/succ/Succ/

llvm-svn: 188415


# 8d642de1 12-Aug-2013 Peter Collingbourne <peter@pcc.me.uk>

Reapply r188119 now that the bug it exposed is fixed.

llvm-svn: 188217


# 3dcdb89d 10-Aug-2013 Arnold Schwaighofer <aschwaighofer@apple.com>

Revert r188119 "Kill some duplicated code for removing unreachable BBs."

It is breaking builbots with libgmalloc enabled on Mac OS X.

$ cd llvm ; mkdir release ; cd release
$ ../configure --enable-

Revert r188119 "Kill some duplicated code for removing unreachable BBs."

It is breaking builbots with libgmalloc enabled on Mac OS X.

$ cd llvm ; mkdir release ; cd release
$ ../configure --enable-optimized —prefix=$PWD/install
$ make
$ make check
$ Release+Asserts/bin/llvm-lit -v --param use_gmalloc=1 --param \
gmalloc_path=/usr/lib/libgmalloc.dylib \
../test/Instrumentation/DataFlowSanitizer/args-unreachable-bb.ll

llvm-svn: 188142

show more ...


# 32090aba 09-Aug-2013 Peter Collingbourne <peter@pcc.me.uk>

Kill some duplicated code for removing unreachable BBs.

This moves removeUnreachableBlocksFromFn from SimplifyCFGPass.cpp
to Utils/Local.cpp and uses it to replace the implementation of
llvm::remove

Kill some duplicated code for removing unreachable BBs.

This moves removeUnreachableBlocksFromFn from SimplifyCFGPass.cpp
to Utils/Local.cpp and uses it to replace the implementation of
llvm::removeUnreachableBlocks, which appears to do a strict subset
of what removeUnreachableBlocksFromFn does.

Differential Revision: http://llvm-reviews.chandlerc.com/D1334

llvm-svn: 188119

show more ...


# 87dc6076 01-Aug-2013 Matt Arsenault <Matthew.Arsenault@amd.com>

Teach getOrEnforceKnownAlignment about address spaces

llvm-svn: 187629


# f64212b2 23-Jul-2013 Matt Arsenault <Matthew.Arsenault@amd.com>

Fix spelling

llvm-svn: 186997


# 8e1a6e7d 22-Jul-2013 Jakub Staszak <kubastaszak@gmail.com>

Remove trailing spaces.

llvm-svn: 186890


# e773c080 11-Jul-2013 Duncan Sands <baldrick@free.fr>

TryToSimplifyUncondBranchFromEmptyBlock was checking that any common
predecessors of the two blocks it is attempting to merge supply the
same incoming values to any phi in the successor block. This

TryToSimplifyUncondBranchFromEmptyBlock was checking that any common
predecessors of the two blocks it is attempting to merge supply the
same incoming values to any phi in the successor block. This change
allows merging in the case where there is one or more incoming values
that are undef. The undef values are rewritten to match the non-undef
value that flows from the other edge. Patch by Mark Lacey.

llvm-svn: 186069

show more ...


Revision tags: llvmorg-3.3.1-rc1
# af0dea13 04-Jul-2013 Craig Topper <craig.topper@gmail.com>

Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size.

llvm-svn: 185606


# 983a16c0 28-Jun-2013 Manman Ren <mren@apple.com>

Debug Info: clean up usage of Verify.

No functionality change.
It should suffice to check the type of a debug info metadata, instead of
calling Verify. For cases where we know the type of a DI metad

Debug Info: clean up usage of Verify.

No functionality change.
It should suffice to check the type of a debug info metadata, instead of
calling Verify. For cases where we know the type of a DI metadata, use
assert.

Also update testing cases to make them conform to the format of DI classes.

llvm-svn: 185135

show more ...


# b8c608ea 26-Jun-2013 Eric Christopher <echristo@gmail.com>

Revert "Debug Info: clean up usage of Verify." as it's breaking bots.

This reverts commit r185020

llvm-svn: 185032


# aa00ce0e 26-Jun-2013 Manman Ren <mren@apple.com>

Debug Info: clean up usage of Verify.

No functionality change.
It should suffice to check the type of a debug info metadata, instead of
calling Verify.

llvm-svn: 185020


Revision tags: llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1
# d00333a4 26-Apr-2013 Adrian Prantl <aprantl@apple.com>

fix a typo that due to cu&paste quadrupled itself
rdar://problem/13056109

llvm-svn: 180618


# 29b9de7b 26-Apr-2013 Adrian Prantl <aprantl@apple.com>

Bugfix for the debug intrinsic handling in InstCombiner:
Since we can't guarantee that the original dbg.declare instrinsic
is removed by LowerDbgDeclare(), we need to make sure that we are
not insert

Bugfix for the debug intrinsic handling in InstCombiner:
Since we can't guarantee that the original dbg.declare instrinsic
is removed by LowerDbgDeclare(), we need to make sure that we are
not inserting the same dbg.value intrinsic over and over.
This removes tons of redundant DIEs when compiling optimized code.

rdar://problem/13056109

llvm-svn: 180615

show more ...


# 2a066afc 22-Mar-2013 Evgeniy Stepanov <eugeni.stepanov@gmail.com>

Fix llvm::removeUnreachableBlocks to handle unreachable loops.

llvm-svn: 177713


1...<<21222324252627282930>>...37