History log of /llvm-project/llvm/lib/Transforms/Scalar/EarlyCSE.cpp (Results 201 – 225 of 229)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3
# 2bf0173b 05-Dec-2013 Michael Gottesman <mgottesman@apple.com>

Change std::deque => std::vector. No functionality change.

There is no reason to use std::deque here over std::vector. Thus given the
performance differences inbetween the two it makes sense to chan

Change std::deque => std::vector. No functionality change.

There is no reason to use std::deque here over std::vector. Thus given the
performance differences inbetween the two it makes sense to change deque to
vector.

llvm-svn: 196524

show more ...


Revision tags: llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1
# 77d7fbb9 11-Sep-2013 Eli Friedman <eli.friedman@gmail.com>

Get rid of unused isPodLike definitions.

llvm-svn: 190461


Revision tags: llvmorg-3.3.1-rc1, llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1
# 9fb823bb 02-Jan-2013 Chandler Carruth <chandlerc@gmail.com>

Move all of the header files which are involved in modelling the LLVM IR
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long

Move all of the header files which are involved in modelling the LLVM IR
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.

There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.

The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.

I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).

I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.

llvm-svn: 171366

show more ...


Revision tags: llvmorg-3.2.0, llvmorg-3.2.0-rc3
# ed0881b2 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com>

Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module

Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

llvm-svn: 169131

show more ...


Revision tags: llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1
# 336cb79f 09-Oct-2012 Michael Ilseman <milseman@apple.com>

Update EarlyCSE's SimpleValues to use Hashing.h for their hashes. Expanded the hashing and equality to allow for equality modulo commutativity for binary ops, and comparisons with swapping of predica

Update EarlyCSE's SimpleValues to use Hashing.h for their hashes. Expanded the hashing and equality to allow for equality modulo commutativity for binary ops, and comparisons with swapping of predicates.

llvm-svn: 165509

show more ...


# cdfe20b9 08-Oct-2012 Micah Villmow <villmow@gmail.com>

Move TargetData to DataLayout.

llvm-svn: 165402


# a60c0f11 15-Sep-2012 Craig Topper <craig.topper@gmail.com>

Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments.

llvm-svn: 163974


# 8bcc9711 29-Aug-2012 Benjamin Kramer <benny.kra@googlemail.com>

Make MemoryBuiltins aware of TargetLibraryInfo.

This disables malloc-specific optimization when -fno-builtin (or -ffreestanding)
is specified. This has been a problem for a long time but became more

Make MemoryBuiltins aware of TargetLibraryInfo.

This disables malloc-specific optimization when -fno-builtin (or -ffreestanding)
is specified. This has been a problem for a long time but became more severe
with the recent memory builtin improvements.

Since the memory builtin functions are used everywhere, this required passing
TLI in many places. This means that functions that now have an optional TLI
argument, like RecursivelyDeleteTriviallyDeadFunctions, won't remove dead
mallocs anymore if the TLI argument is missing. I've updated most passes to do
the right thing.

Fixes PR13694 and probably others.

llvm-svn: 162841

show more ...


# 465834c8 24-Jul-2012 Nadav Rotem <nadav.rotem@intel.com>

Clean whitespaces.

llvm-svn: 160668


Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1
# 8d670b8f 31-Jan-2012 Lenny Maiorani <lenny@colorado.edu>

bz11794 : EarlyCSE stack overflow on long functions.
Make the EarlyCSE optimizer not use recursion to do a depth first iteration.

llvm-svn: 149445


# c24b86ff 01-Dec-2011 Chad Rosier <mcrosier@apple.com>

Propagate TargetLibraryInfo throughout ConstantFolding.cpp and
InstructionSimplify.cpp. Other fixups as needed.
Part of rdar://10500969

llvm-svn: 145559


Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1
# 154a967c 12-Oct-2011 Eli Friedman <eli.friedman@gmail.com>

Fix a couple hash functions so that they do not depend on undefined shifts. Based on patch by Ahmed Charles.

llvm-svn: 141820


# 7c5dc122 12-Sep-2011 Eli Friedman <eli.friedman@gmail.com>

Change a bunch of isVolatile() checks to check for atomic load/store as well.

No tests; these changes aren't really interesting in the sense that the logic is the same for volatile and atomic.

I be

Change a bunch of isVolatile() checks to check for atomic load/store as well.

No tests; these changes aren't really interesting in the sense that the logic is the same for volatile and atomic.

I believe this completes all of the changes necessary for the optimizer to handle loads and stores correctly. I'm going to try and come up with some additional testing, though.

llvm-svn: 139533

show more ...


Revision tags: llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1
# bde6ec1d 03-Jan-2011 Chris Lattner <sabre@nondot.org>

Duncan deftly points out that readnone functions aren't
invalidated by stores, so they can be handled as 'simple'
operations.

llvm-svn: 122785


# 16ca19ff 03-Jan-2011 Chris Lattner <sabre@nondot.org>

stength reduce my previous patch a bit. The only instructions
that are allowed to have metadata operands are intrinsic calls,
and the only ones that take metadata currently return void.
Just reject

stength reduce my previous patch a bit. The only instructions
that are allowed to have metadata operands are intrinsic calls,
and the only ones that take metadata currently return void.
Just reject all void instructions, which should not be value
numbered anyway. To future proof things, add an assert to the
getHashValue impl for calls to check that metadata operands
aren't present.

llvm-svn: 122759

show more ...


# 142f1cd2 03-Jan-2011 Chris Lattner <sabre@nondot.org>

fix PR8895: metadata operands don't have a strong use of their
nested values, so they can change and drop to null, which can
change the hash and cause havok.

It turns out that it isn't a good idea t

fix PR8895: metadata operands don't have a strong use of their
nested values, so they can change and drop to null, which can
change the hash and cause havok.

It turns out that it isn't a good idea to value number stuff
with metadata operands anyway, so... don't.

llvm-svn: 122758

show more ...


# 9e5e9ed7 03-Jan-2011 Chris Lattner <sabre@nondot.org>

earlycse can do trivial with-a-block dead store
elimination as well. This deletes 60 stores in 176.gcc
that largely come from bitfield code.

llvm-svn: 122736


# 4b9a5257 03-Jan-2011 Chris Lattner <sabre@nondot.org>

switch the load table to use a recycling bump pointer allocator,
speeding earlycse up by 6%.

llvm-svn: 122733


# e0e32a9e 03-Jan-2011 Chris Lattner <sabre@nondot.org>

now that loads are in their own table, we can implement
store->load forwarding. This allows EarlyCSE to zap 600 more
loads from 176.gcc.

llvm-svn: 122732


# 92bb0f9f 03-Jan-2011 Chris Lattner <sabre@nondot.org>

split loads and calls into separate tables. Loads are now just indexed
by their pointer instead of using MemoryValue to wrap it.

llvm-svn: 122731


# 4cb36541 03-Jan-2011 Chris Lattner <sabre@nondot.org>

various cleanups, no functionality change.

llvm-svn: 122729


# b9a8efc9 03-Jan-2011 Chris Lattner <sabre@nondot.org>

Teach EarlyCSE to do trivial CSE of loads and read-only calls.

On 176.gcc, this catches 13090 loads and calls, and increases the
number of simple instructions CSE'd from 29658 to 36208.

llvm-svn: 1

Teach EarlyCSE to do trivial CSE of loads and read-only calls.

On 176.gcc, this catches 13090 loads and calls, and increases the
number of simple instructions CSE'd from 29658 to 36208.

llvm-svn: 122727

show more ...


# 79d83067 03-Jan-2011 Chris Lattner <sabre@nondot.org>

rename InstValue to SimpleValue, add some comments.

llvm-svn: 122725


# d815f69b 03-Jan-2011 Chris Lattner <sabre@nondot.org>

Allocate nodes for the scoped hash table from a recyling bump pointer
allocator. This speeds up early cse by about 20%

llvm-svn: 122723


# 02a9776b 03-Jan-2011 Chris Lattner <sabre@nondot.org>

reduce redundancy in the hashing code and other misc cleanups.

llvm-svn: 122720


12345678910