Mikhail Glushenkov
18f6dc1f16
Man page typo fix.
...
llvm-svn: 60765
2008-12-09 14:41:00 +00:00
Mikhail Glushenkov
6f236eebcf
Support -emit-llvm properly (with -S and -c).
...
llvm-svn: 60764
2008-12-09 14:40:18 +00:00
Duncan Sands
392ed50974
Handle a compiler warning.
...
llvm-svn: 60755
2008-12-09 09:58:11 +00:00
Chris Lattner
ff8be5564e
fix typos gabor noticed
...
llvm-svn: 60754
2008-12-09 08:38:36 +00:00
Bill Wendling
d034543c7e
Correct my English.
...
llvm-svn: 60753
2008-12-09 07:55:31 +00:00
Chris Lattner
b7b4a2dbac
restructure the top level non-local ptr dep query to handle
...
the first block of a query specially. This makes the "complete query
caching" subsystem more effective, avoiding predecessor queries. This
speeds up GVN another 4%.
llvm-svn: 60752
2008-12-09 07:52:59 +00:00
Chris Lattner
f61cc24ef3
rename getNonLocalPointerDepInternal -> getNonLocalPointerDepFromBB
...
and split its inner loop out into a new GetNonLocalInfoForBlock
function. No functionality change.
llvm-svn: 60751
2008-12-09 07:47:11 +00:00
Evan Cheng
3130873f30
DisableGVCompilation should not abort on internal GlobalValue's.
...
llvm-svn: 60750
2008-12-09 07:31:49 +00:00
Mon P Wang
85d72dabc5
In LegalizeOp, don't change the result type of CONVERT_RNDSAT when promoting
...
one of its operand.
llvm-svn: 60749
2008-12-09 07:27:39 +00:00
Nick Lewycky
41060b1556
It's easy to handle SLE/SGE when the loop has a unit stride.
...
llvm-svn: 60748
2008-12-09 07:25:04 +00:00
Chris Lattner
7358482dbc
if we have two elements, insert both, don't use std::sort.
...
This speeds up the new GVN by another 3%
llvm-svn: 60747
2008-12-09 07:05:45 +00:00
Chris Lattner
e428927eda
If we're only adding one new element to 'Cache', insert it into its known
...
position instead of using a full sort. This speeds up GVN by ~4% with the
new memdep stuff.
llvm-svn: 60746
2008-12-09 06:58:04 +00:00
Chris Lattner
951d1310c9
convert a couple other places that use pred_iterator to use the caching
...
pred iterator.
llvm-svn: 60745
2008-12-09 06:44:17 +00:00
Chris Lattner
6eb2690ea4
newline at end of phile
...
llvm-svn: 60744
2008-12-09 06:32:32 +00:00
Chris Lattner
d7df2dce20
use hte new pred cache to speed up the new non-local memdep
...
queries. This speeds up GVN using the new queries (not yet
checked in) by just over 10%.
llvm-svn: 60743
2008-12-09 06:28:49 +00:00
Chris Lattner
14f67ea7b5
pred_iterator got a lot slower since use-diet landed. This is a
...
really simple cache class for these queries. Hopefully this can
be removed if pred_iterator speeds back up.
llvm-svn: 60742
2008-12-09 06:27:07 +00:00
Scott Michel
5c944059b4
CellSPU:
...
- Fix call.ll and call_indirect.ll expected results, now that it's using a
different pre-register allocation scheduler.
llvm-svn: 60741
2008-12-09 06:12:03 +00:00
Mon P Wang
0c011f8ba9
Fix getNode to allow a vector for the shift amount for shifts of vectors.
...
Fix the shift amount when unrolling a vector shift into scalar shifts.
Fix problem in getShuffleScalarElt where it assumes that the input of
a bit convert must be a vector.
llvm-svn: 60740
2008-12-09 05:46:39 +00:00
Chris Lattner
e32dbaddd2
Fix a really subtle off-by-one bug that Duncan noticed with valgrind
...
on test/CodeGen/Generic/2007-06-06-CriticalEdgeLandingPad.
llvm-svn: 60739
2008-12-09 04:47:21 +00:00
Scott Michel
cf7ec43939
CellSPU:
...
- Change default scheduling preference to list-burr, which produces somewhat
better code than the default. Could also use list-tdrr, but need to ask
dev list about the appropriate handy mnemonic before commiting.
llvm-svn: 60738
2008-12-09 03:37:19 +00:00
Bill Wendling
7250a29def
Add initial support for fast-isel of the [SU]ADDO intrinsics. It isn't
...
complete. For instance, it lowers the common case into this less-than-optimal
code:
addl %ecx, %eax
seto %cl
testb %cl, %cl
jne LBB1_2 ## overflow
instead of:
addl %ecx, %eax
jo LBB1_2 ## overflow
That will come in a future commit.
llvm-svn: 60737
2008-12-09 02:42:50 +00:00
Dan Gohman
0e700eb88b
Fix the name of ISD::TokenFactor in a comment. Thanks Gabor!
...
llvm-svn: 60736
2008-12-09 02:18:52 +00:00
Chris Lattner
aa0be1e32a
remove two unneeded forward declarations, pointed out by Gabor.
...
llvm-svn: 60735
2008-12-09 02:10:10 +00:00
Dan Gohman
e99b76aa24
Don't charge full latency for an anti-dependence, in this simplistic
...
pipeline model.
llvm-svn: 60733
2008-12-09 00:26:46 +00:00
Dan Gohman
9e5cc22129
Fix a couple of mistaken switch case fall-throughs. Thanks to Bill
...
for spotting these!
llvm-svn: 60728
2008-12-08 23:50:06 +00:00
Devang Patel
0ef5e583cd
Actually test something. Use PR3170 test case.
...
llvm-svn: 60727
2008-12-08 23:44:46 +00:00
Chris Lattner
23e2ac8894
remove DebugIterations option. Despite the accusations,
...
jump threading has been shown to only expose problems not
have bugs itself. I'm sure it's completely bug free! ;-)
llvm-svn: 60725
2008-12-08 22:44:07 +00:00
Evan Cheng
3bb2ad8a0a
Re-apply 60689 now my head is screwed on right.
...
llvm-svn: 60711
2008-12-08 19:29:03 +00:00
Dan Gohman
6f3258586e
Fix the top-level comments, and fix some 80-column violations.
...
llvm-svn: 60707
2008-12-08 17:50:35 +00:00
Dan Gohman
c0280e8867
Move the conversion to intptr_t to a separate statement. This
...
avoids GCC's warning even on 64-bit hosts.
llvm-svn: 60706
2008-12-08 17:41:24 +00:00
Dan Gohman
5bca97fc4f
Revert 60689. It caused many regressions on Darwin targets.
...
llvm-svn: 60705
2008-12-08 17:38:02 +00:00
Ted Kremenek
164f7f4a43
Use 'delete []' instead of 'delete' in OwningArray::reset().
...
llvm-svn: 60703
2008-12-08 17:28:11 +00:00
Devang Patel
a8d0117253
Fix spelling.
...
Thanks Duncan!
llvm-svn: 60702
2008-12-08 17:07:24 +00:00
Devang Patel
82fb6bc606
Undo previous patch.
...
llvm-svn: 60701
2008-12-08 17:02:37 +00:00
Duncan Sands
fd39a042aa
Fix comment typo.
...
llvm-svn: 60698
2008-12-08 14:10:36 +00:00
Duncan Sands
982c6ed1d9
Fix comment typo.
...
llvm-svn: 60697
2008-12-08 14:01:59 +00:00
Dan Gohman
14d4094968
Factor out the code for sign-extending/truncating gep indices
...
and use it in x86 address mode folding. Also, make
getRegForValue return 0 for illegal types even if it has a
ValueMap for them, because Argument values are put in the
ValueMap. This fixes PR3181.
llvm-svn: 60696
2008-12-08 07:57:47 +00:00
Chris Lattner
7307ef0ba3
add another level of caching for non-local pointer queries, keeping
...
track of whether the CachedNonLocalPointerInfo for a block is specific
to a block. If so, just return it without any pred scanning. This is
good for a 6% speedup on GVN (when it uses this lookup method, which
it doesn't right now).
llvm-svn: 60695
2008-12-08 07:31:50 +00:00
Chris Lattner
9020891916
consistency
...
llvm-svn: 60694
2008-12-08 07:21:39 +00:00
Chris Lattner
6ab4673c40
introduce a new RoundUpAlignment helper function, use it to
...
remove some more 64-bit divs and rems from the StructLayout
ctor.
llvm-svn: 60692
2008-12-08 07:11:56 +00:00
Dan Gohman
f187690987
Make ConstantAggregateZero::get return a ConstantAggregateZero*,
...
as suggested in PR3182.
llvm-svn: 60691
2008-12-08 07:10:54 +00:00
Dan Gohman
84876ffe23
Update CPP backend for PrintModulePass API changes.
...
llvm-svn: 60690
2008-12-08 07:07:24 +00:00
Evan Cheng
d668dd83c0
Perform cheap checks first.
...
llvm-svn: 60689
2008-12-08 06:52:43 +00:00
Chris Lattner
d6036b3791
Speed up getABITypeSize by turning a i64 mul and div into an
...
AND. This is speedup on any reasonable target, but particularly
on 32-bit targets where this often turns into a libcall like udivdi3.
We know that alignments are a power of two but the compiler doesn't.
llvm-svn: 60688
2008-12-08 06:50:51 +00:00
Chris Lattner
494eb47570
Some minor optimizations for isObjectSmallerThan.
...
llvm-svn: 60687
2008-12-08 06:28:54 +00:00
Dan Gohman
bd0aaeaf8c
Clarify a comment.
...
llvm-svn: 60685
2008-12-08 04:54:58 +00:00
Dan Gohman
e4b1a93573
Move createVirtualRegister out-of-line.
...
llvm-svn: 60684
2008-12-08 04:54:11 +00:00
Dan Gohman
7954facae5
Clarify some comments.
...
llvm-svn: 60683
2008-12-08 04:53:23 +00:00
Dan Gohman
df0e24acce
Generalize bugpoint's concept of a "safe" backend, and add options
...
to allow the "safe" backend to be run with a different path, and/or
with different command-line options.
This enables the following use cases:
- bugpoint llc against an llc command from a different build
- bugpoint llc against the same llc with different command-line options
- and more...
Also, document the existing "custom" interpreter options.
llvm-svn: 60681
2008-12-08 04:02:47 +00:00
Nick Lewycky
69eb224a5e
Fixes for Visual Studio users. Patch by OvermindDL1 on llvm-dev!
...
llvm-svn: 60679
2008-12-08 00:45:02 +00:00