| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 58830
|
| |
|
|
| |
llvm-svn: 58826
|
| |
|
|
|
|
| |
when simplify a vector.
llvm-svn: 58820
|
| |
|
|
| |
llvm-svn: 58787
|
| |
|
|
| |
llvm-svn: 58744
|
| |
|
|
| |
llvm-svn: 58742
|
| |
|
|
| |
llvm-svn: 58736
|
| |
|
|
|
|
| |
a specialized pass that it not likely to be generally useful.
llvm-svn: 58732
|
| |
|
|
|
|
|
| |
huge performance regression in something we care
about. This may not be final fix.
llvm-svn: 58718
|
| |
|
|
| |
llvm-svn: 58651
|
| |
|
|
| |
llvm-svn: 58631
|
| |
|
|
|
|
| |
would be hard pressed to be considered a sentence, but if it makes Bill happy...
llvm-svn: 58630
|
| |
|
|
|
|
|
|
| |
This allows SCEV users to effectively calculate trip count.
LSR later on transforms back integer IVs to floating point IVs
later on to avoid int-to-float casts inside the loop.
llvm-svn: 58625
|
| |
|
|
|
|
| |
specializing
llvm-svn: 58615
|
| |
|
|
| |
llvm-svn: 58593
|
| |
|
|
|
|
|
|
| |
* merge two weak functions by making them both alias a third non-weak fn
* don't reimplement CallSite::hasArgument
* whitelist the safe linkage types
llvm-svn: 58568
|
| |
|
|
|
|
|
| |
cast from ‘const llvm::PointerType*’ to ‘unsigned int’
loses precision).
llvm-svn: 58561
|
| |
|
|
| |
llvm-svn: 58559
|
| |
|
|
|
|
|
|
| |
This triggers only 60 times in llvm-test (look at .llvm.bc, not .linked.rbc)
and so it probably wont be turned on by default. Also, may of those are likely
to go away when PR2973 is fixed.
llvm-svn: 58557
|
| |
|
|
|
|
| |
by Richard Osborne.
llvm-svn: 58555
|
| |
|
|
|
|
|
| |
ConstantInt, and SI is the original cast instruction. This fixes
PR2996.
llvm-svn: 58549
|
| |
|
|
| |
llvm-svn: 58486
|
| |
|
|
|
|
| |
optimizations accordingly.
llvm-svn: 58457
|
| |
|
|
|
|
|
|
|
| |
function.
- This explicitly models the costs for functions which should
"always" or "never" be inlined. This fixes bugs where such costs
were not previously respected.
llvm-svn: 58450
|
| |
|
|
|
|
|
| |
I don't really see this as being needed, but there is little harm from doing
it.
llvm-svn: 58385
|
| |
|
|
|
|
| |
- No functionality change.
llvm-svn: 58355
|
| |
|
|
|
|
| |
- No functionality change.
llvm-svn: 58352
|
| |
|
|
| |
llvm-svn: 58351
|
| |
|
|
|
|
| |
that need it to require it by ID.
llvm-svn: 58238
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LargeBlockInfo, we can now dramatically simplify their implementation
and speed them up at the same time. Now the code has time proportional
to the number of uses of the alloca, not the size of the block.
This also eliminates code that tried to batch up different allocas which
are used in the same blocks, and eliminates the 'retry list' logic which
was baroque and no unneccesary. In addition to being a speedup for crazy
cases, this is also a nice cleanup:
PromoteMemoryToRegister.cpp | 270 +++++++++++++++-----------------------------
1 file changed, 96 insertions(+), 174 deletions(-)
llvm-svn: 58229
|
| |
|
|
|
|
|
|
|
| |
a trivial dense map. Use this in RewriteSingleStoreAlloca to
avoid aggressively rescanning blocks over and over again. This
fixes PR2925, speeding up mem2reg on the testcase in that bug
from 4.56s to 0.02s in a debug build on my machine.
llvm-svn: 58227
|
| |
|
|
|
|
| |
Understand that mul %x, 1 = %x.
llvm-svn: 58069
|
| |
|
|
|
|
|
|
|
|
|
| |
LoopPass*.
- Although less precise, this means they can be used in clients
without RTTI (who would otherwise need to include LoopPass.h, which
eventually includes things using dynamic_cast). This was the
simplest solution that presented itself, but I am happy to use a
better one if available.
llvm-svn: 58010
|
| |
|
|
| |
llvm-svn: 57870
|
| |
|
|
| |
llvm-svn: 57864
|
| |
|
|
| |
llvm-svn: 57660
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
to find opportunities for store-to-load forwarding or load CSE,
in the same way that visitStore scans back to do DSE. Also, define
a new helper function for testing whether the addresses of two
memory accesses are known to have the same value, and use it in
both visitStore and visitLoad.
These two changes allow instcombine to eliminate loads in code
produced by front-ends that frequently emit obviously redundant
addressing for memory references.
llvm-svn: 57608
|
| |
|
|
| |
llvm-svn: 57515
|
| |
|
|
|
|
|
| |
- Renumber fcmp predicates to match their icmp counterparts.
- Try swapping operands to expose more optimization opportunities.
llvm-svn: 57513
|
| |
|
|
|
|
|
|
|
| |
e.g. uno && ueq -> ueq
ord && olt -> olt
ord && ueq -> oeq
llvm-svn: 57507
|
| |
|
|
|
|
| |
constant expression with all zero indices as being the same as a bitcast.
llvm-svn: 57442
|
| |
|
|
|
|
|
|
| |
a couple other cases for clarity, but shouldn't affect correctness.
Patch by Eli Friedman!
llvm-svn: 57387
|
| |
|
|
|
|
| |
This patch fixes PR 2869
llvm-svn: 57369
|
| |
|
|
| |
llvm-svn: 57353
|
| |
|
|
|
|
|
| |
and APFloat::convertToInteger. Restore return value to
IEEE754. Adjust all users accordingly.
llvm-svn: 57329
|
| |
|
|
| |
llvm-svn: 57320
|
| |
|
|
| |
llvm-svn: 57305
|
| |
|
|
|
|
| |
Patch by Samuel Tardieu.
llvm-svn: 57291
|
| |
|
|
|
|
| |
patch by Samuel Tardieu!
llvm-svn: 57288
|
| |
|
|
| |
llvm-svn: 57254
|