| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
as well as fixing how we replace old values with new values.
llvm-svn: 23260
|
| |
|
|
|
|
| |
preserve livevar
llvm-svn: 23259
|
| |
|
|
|
|
|
| |
This restores all of stanford to being identical with and without the dag
combiner with the add folding turned off in sd.cpp.
llvm-svn: 23258
|
| |
|
|
|
|
|
|
| |
'' is not a recognized processor for this target (ignoring processor)
Default to "generic" instead of "" for the default CPU.
llvm-svn: 23257
|
| |
|
|
|
|
|
|
|
|
| |
'' is not a recognized processor for this target (ignoring processor)
instead of:
is not a recognized processor for this target (ignoring processor)
llvm-svn: 23256
|
| |
|
|
|
|
|
|
| |
we were losing a node, causing an assertion to fail. Now we eagerly delete
discovered CSE's, and provide an optional vector to keep track of these
discovered equivalences.
llvm-svn: 23255
|
| |
|
|
|
|
| |
that option for PowerPC's beta.
llvm-svn: 23253
|
| |
|
|
|
|
|
|
|
| |
are allowed to generate 64-bit-only PowerPC instructions for 32 bit hosts,
such as the PowerPC 970.
This speeds up 189.lucas from 81.99 to 32.64 seconds.
llvm-svn: 23250
|
| |
|
|
| |
llvm-svn: 23246
|
| |
|
|
| |
llvm-svn: 23245
|
| |
|
|
|
|
| |
generate the fun in-register fp<->long instructions.
llvm-svn: 23244
|
| |
|
|
|
|
|
| |
I have run so far when run before Legalize. It still needs to pick up the
SetCC folds, and nodes that use SetCC.
llvm-svn: 23243
|
| |
|
|
| |
llvm-svn: 23241
|
| |
|
|
| |
llvm-svn: 23240
|
| |
|
|
| |
llvm-svn: 23239
|
| |
|
|
| |
llvm-svn: 23238
|
| |
|
|
| |
llvm-svn: 23235
|
| |
|
|
|
|
| |
switch should never be exited, so its bottom is now unreachable.
llvm-svn: 23234
|
| |
|
|
|
|
|
|
| |
Define the PatFrag class which can be used to define subpatterns to match
things with. Define 'not', and use it to define the patterns for andc,
nand, etc.
llvm-svn: 23233
|
| |
|
|
| |
llvm-svn: 23232
|
| |
|
|
|
|
| |
values, and then we should be able to hook it up.
llvm-svn: 23231
|
| |
|
|
|
|
|
|
|
| |
currently don't do anything. This elides patterns for binary operators
that ping on the carry flag, since we don't model it yet.
This patch also removes PPC::SUB, because it is dead.
llvm-svn: 23230
|
| |
|
|
| |
llvm-svn: 23229
|
| |
|
|
|
|
|
|
| |
i64 values on targets that need that expanded to 32-bit registers. This fixes
PowerPC/2005-09-02-LegalizeDuplicatesCalls.ll and speeds up 189.lucas from
taking 122.72s to 81.96s on my desktop.
llvm-svn: 23228
|
| |
|
|
| |
llvm-svn: 23226
|
| |
|
|
| |
llvm-svn: 23224
|
| |
|
|
| |
llvm-svn: 23222
|
| |
|
|
|
|
|
|
|
|
| |
from the binary ops map, even if they had multiple results. This latent bug
caused a few failures with the dag isel last night.
To prevent stuff like this from happening in the future, add some really
strict checking to make sure that the CSE maps always match up with reality!
llvm-svn: 23221
|
| |
|
|
|
|
| |
some stuff
llvm-svn: 23220
|
| |
|
|
|
|
| |
number of elements.
llvm-svn: 23219
|
| |
|
|
|
|
| |
Remove the -enable-gpopt option which is subsumed by feature flags.
llvm-svn: 23218
|
| |
|
|
| |
llvm-svn: 23215
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in building maximal expressions before simplifying them. In particular, i
cases like this:
X-(A+B+X)
the code would consider A+B+X to be a maximal expression (not understanding
that the single use '-' would be turned into a + later), simplify it (a noop)
then later get simplified again.
Each of these simplify steps is where the cost of reassociation comes from,
so this patch should speed up the already fast pass a bit.
Thanks to Dan for noticing this!
llvm-svn: 23214
|
| |
|
|
|
|
| |
to where we need it when converting -(A+B+C) -> -A + -B + -C.
llvm-svn: 23213
|
| |
|
|
|
|
| |
Ops vector out of range
llvm-svn: 23211
|
| |
|
|
| |
llvm-svn: 23210
|
| |
|
|
| |
llvm-svn: 23209
|
| |
|
|
| |
llvm-svn: 23208
|
| |
|
|
| |
llvm-svn: 23207
|
| |
|
|
| |
llvm-svn: 23206
|
| |
|
|
|
|
|
|
| |
instead of ZERO_EXTEND to eliminate extraneous extensions. This eliminates
dead zero extensions on formal arguments and other cases on PPC, implementing
the newly tightened up test/Regression/CodeGen/PowerPC/small-arguments.ll test.
llvm-svn: 23205
|
| |
|
|
| |
llvm-svn: 23204
|
| |
|
|
| |
llvm-svn: 23203
|
| |
|
|
| |
llvm-svn: 23202
|
| |
|
|
|
|
| |
the observation that it only has to handle i1 -> i64 and i64 -> i1.
llvm-svn: 23201
|
| |
|
|
|
|
|
| |
the results of calls to functions returning small values are properly
sign/zero extended.
llvm-svn: 23198
|
| |
|
|
|
|
|
|
|
|
| |
over to DAGCombiner.cpp
1. Don't assume that SetCC returns i1 when folding (xor (setcc) constant)
2. Don't duplicate code in folding AND with AssertZext that is handled by
MaskedValueIsZero
llvm-svn: 23196
|
| |
|
|
|
|
| |
left to do).
llvm-svn: 23195
|
| |
|
|
|
|
|
|
| |
measurements. This improves the performance of 'treeadd' by about 20% with the dag
isel, restoring it to the pattern-isel level (which happens to get the alignment right).
llvm-svn: 23194
|
| |
|
|
|
|
|
| |
platforms. This reduces executable size and makes shark realize the actual
bounds of functions instead of showing each MBB as a function :)
llvm-svn: 23193
|