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
Dan Gohman
8b7aa3053d
Use bool instead of int, now that it no longer evokes a warning.
...
llvm-svn: 60678
2008-12-07 21:33:27 +00:00
Dan Gohman
42bd5cffc9
Use intptr_t instead of unsigned here, which is more appropriate
...
in a really obscure way, but more importantly has the side effect
of avoiding a GCC warning in the case that IntType is bool.
llvm-svn: 60677
2008-12-07 21:28:00 +00:00
Chris Lattner
1ff38d6629
add an assert. the cast<> below would catch this but a message is more
...
useful.
llvm-svn: 60674
2008-12-07 18:45:15 +00:00
Chris Lattner
8cd875dac6
factor some code better.
...
llvm-svn: 60673
2008-12-07 18:42:51 +00:00
Chris Lattner
9ebcc276e4
factor some code, fixing some fixme's.
...
llvm-svn: 60672
2008-12-07 18:39:13 +00:00
Chris Lattner
279bab1c8a
fix a typo duncan noticed!
...
llvm-svn: 60671
2008-12-07 18:21:37 +00:00
Oscar Fuentes
3eaab7ff7a
CMake: Added Tool.cpp to tools/llvmc/driver.
...
llvm-svn: 60670
2008-12-07 17:01:16 +00:00
Mikhail Glushenkov
63bd106f2c
Man page update.
...
llvm-svn: 60669
2008-12-07 16:48:07 +00:00
Mikhail Glushenkov
c1fc4efe85
Describe recent changes in the documentation.
...
llvm-svn: 60668
2008-12-07 16:47:42 +00:00
Mikhail Glushenkov
c75a4df77c
Make 'extern' an option property.
...
Makes (forward) work better.
llvm-svn: 60667
2008-12-07 16:47:12 +00:00