| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
- Some clients which used DOUT have moved to DEBUG. We are deprecating the
"magic" DOUT behavior which avoided calling printing functions when the
statement was disabled. In addition to being unnecessary magic, it had the
downside of leaving code in -Asserts builds, and of hiding potentially
unnecessary computations.
llvm-svn: 77019
|
|
|
|
|
|
| |
implicit_def's.
llvm-svn: 65592
|
|
|
|
|
|
| |
size. For now, disable it for optimizing for size.
llvm-svn: 63856
|
|
|
|
| |
llvm-svn: 63854
|
|
|
|
| |
llvm-svn: 63729
|
|
|
|
|
|
| |
LICM "cheap" instructions are not particularly beneficial to start with. This will just end up making the copies harder to coalesce.
llvm-svn: 63728
|
|
|
|
|
|
| |
register pressure. We want to avoid spilling more instructions if it's possible.
llvm-svn: 63725
|
|
|
|
|
|
|
|
|
| |
loops, hoisting instructions all the way out in one step rather
than hoisting them one nest level at a time. Also, make a few
other code simplifications. This speeds up MachineLICM
by several fold.
llvm-svn: 62283
|
|
|
|
| |
llvm-svn: 61715
|
|
|
|
|
|
|
|
| |
several places. isTerminator() returns true for a superset
of cases, and includes things like FP_REG_KILL, which are
nither return or branch but aren't safe to move/remat/etc.
llvm-svn: 61373
|
|
|
|
| |
llvm-svn: 61184
|
|
|
|
|
|
| |
isReg, etc., from isRegister, etc.
llvm-svn: 57006
|
|
|
|
| |
llvm-svn: 55779
|
|
|
|
| |
llvm-svn: 55578
|
|
|
|
| |
llvm-svn: 55074
|
|
|
|
|
|
| |
hoisting out some "test" and "cmp" instructions. This was obvious badness.
llvm-svn: 54908
|
|
|
|
| |
llvm-svn: 53166
|
|
|
|
|
|
|
| |
several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017
|
|
|
|
| |
llvm-svn: 50990
|
|
|
|
|
|
|
|
| |
possible for it to produce worse code than before.
The rest of this patch is code cleanup.
llvm-svn: 50987
|
|
|
|
| |
llvm-svn: 48142
|
|
|
|
| |
llvm-svn: 47629
|
|
|
|
|
|
| |
would have been a Godsend here!
llvm-svn: 47625
|
|
|
|
| |
llvm-svn: 46930
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
both work right according to the new flags.
This removes the TII::isReallySideEffectFree predicate, and adds
TII::isInvariantLoad.
It removes NeverHasSideEffects+MayHaveSideEffects and adds
UnmodeledSideEffects as machine instr flags. Now the clients
can decide everything they need.
I think isRematerializable can be implemented in terms of the
flags we have now, though I will let others tackle that.
llvm-svn: 45843
|
|
|
|
|
|
|
| |
Make MachineInstr::getDesc return a reference instead
of a pointer, since it can never be null.
llvm-svn: 45695
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that it is cheap and efficient to get.
Move a variety of predicates from TargetInstrInfo into
TargetInstrDescriptor, which makes it much easier to query a predicate
when you don't have TII around. Now you can use MI->getDesc()->isBranch()
instead of going through TII, and this is much more efficient anyway. Not
all of the predicates have been moved over yet.
Update old code that used MI->getInstrDescriptor()->Flags to use the
new predicates in many places.
llvm-svn: 45674
|
|
|
|
| |
llvm-svn: 45573
|
|
|
|
| |
llvm-svn: 45572
|
|
|
|
| |
llvm-svn: 45571
|
|
|
|
| |
llvm-svn: 45569
|
|
|
|
| |
llvm-svn: 45499
|
|
|
|
| |
llvm-svn: 45496
|
|
|
|
|
|
|
| |
instruction. Also, use "splice" to move the new instruction instead of
remove/insert (where it was leaking memory anyway).
llvm-svn: 45492
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
| |
llvm-svn: 45245
|
|
|
|
| |
llvm-svn: 45178
|
|
|
|
| |
llvm-svn: 44892
|
|
|
|
| |
llvm-svn: 44881
|
|
|
|
| |
llvm-svn: 44874
|
|
|
|
|
|
| |
- Fix subtle bug when creating initially creating this map.
llvm-svn: 44873
|
|
|
|
|
|
|
|
| |
because those with side effects will be caught by other checks in here.
Also, simplify the check for a BB in a sub loop.
llvm-svn: 44871
|
|
|
|
| |
llvm-svn: 44727
|
|
|
|
|
|
|
| |
isTriviallyReMaterializable -> hasNoSideEffects
isReallyTriviallyReMaterializable -> isTriviallyReMaterializable
llvm-svn: 44702
|
|
|
|
|
|
|
| |
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071203/056043.html
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071203/056048.html
llvm-svn: 44696
|
|
_foo:
li r2, 0
LBB1_1: ; bb
li r5, 0
stw r5, 0(r3)
addi r2, r2, 1
addi r3, r3, 4
cmplw cr0, r2, r4
bne cr0, LBB1_1 ; bb
LBB1_2: ; return
blr
to:
_foo:
li r2, 0
li r5, 0
LBB1_1: ; bb
stw r5, 0(r3)
addi r2, r2, 1
addi r3, r3, 4
cmplw cr0, r2, r4
bne cr0, LBB1_1 ; bb
LBB1_2: ; return
blr
ZOMG!! :-)
Moar to come...
llvm-svn: 44687
|