Jakob Stoklund Olesen
d5b029ad5b
Fix a compile time regression caused by too small hash tables.
...
Measure the worst case number of probes for a miss instead of the less
conservative number of probes required for an insertion.
Lower the limit to < 6 probes worst case.
This doubles the size of the ARM and X86 hash tables, other targets are
unaffected. LiveVariables runs 12% faster with this change.
<rdar://problem/9598545>
llvm-svn: 132999
2011-06-14 16:58:16 +00:00
Rafael Espindola
1e809f99ad
Add 132986 back, but avoid non-determinism if a bb address gets reused.
...
llvm-svn: 132995
2011-06-14 15:31:54 +00:00
Nadav Rotem
7b529545b7
Add a testcase for #9623
...
llvm-svn: 132991
2011-06-14 13:23:10 +00:00
Rafael Espindola
b90ea8a8c7
revert 132986 to see if the bots go green.
...
llvm-svn: 132988
2011-06-14 12:48:26 +00:00
Nadav Rotem
b638c3c037
This testcase cause a failure on some bots. Remove the failing test until
...
further investigation.
llvm-svn: 132986
2011-06-14 09:10:37 +00:00
Nadav Rotem
1b92c3d96c
Add a testcase for checking the integer-promotion of many different vector
...
types (with power of two types such as 8,16,32 .. 512).
Fix a bug in the integer promotion of bitcast nodes. Enable integer expanding
only if the target of the conversion is an integer (when the type action is
scalarize).
Add handling to the legalization of vector load/store in cases where the saved
vector is integer-promoted.
llvm-svn: 132985
2011-06-14 08:11:52 +00:00
Nadav Rotem
db789f2d76
Disable trunc-store simplification on vectors.
...
llvm-svn: 132984
2011-06-14 07:18:26 +00:00
Cameron Zwarich
77f6a2d09e
Be more obvious about what is being tested.
...
llvm-svn: 132982
2011-06-14 06:33:51 +00:00
Rafael Espindola
434d19ff30
Implement Jakob's suggestion on how to detect fall thought without calling
...
AnalyzeBranch.
llvm-svn: 132981
2011-06-14 06:08:32 +00:00
Bruno Cardoso Lopes
15b9096112
Since ARM's prefetch implementation predicted the presence of a instruction
...
cache prefetch and now that the info from "prefetch" to "ARMPreload" is present,
only add a testcase for PLI.
llvm-svn: 132978
2011-06-14 05:11:46 +00:00
Bruno Cardoso Lopes
b6afc5168f
Add one more argument to the prefetch intrinsic to indicate whether it's a data
...
or instruction cache access. Update the targets to match it and also teach
autoupgrade.
llvm-svn: 132976
2011-06-14 04:58:37 +00:00
Rafael Espindola
56a82c5ef8
Make the threshold used by branch folding softer. Before we would get a
...
sharp all or nothing transition when one extra predecessor was added. Now
we still test first ones for merging.
llvm-svn: 132974
2011-06-14 04:41:17 +00:00
Nick Lewycky
6a95970b19
Fit banner in 80-col and adjust whitespace. No functionality changes.
...
llvm-svn: 132964
2011-06-14 03:23:52 +00:00
Bill Wendling
77d4d62693
Heuristic: If the number of operands in the alias are more than the number of
...
operands in the aliasee, don't print the alias.
llvm-svn: 132963
2011-06-14 03:17:20 +00:00
John McCall
7e1ecf5edb
Test case for r132797.
...
llvm-svn: 132962
2011-06-14 03:02:05 +00:00
John McCall
fb32cfb402
Use IRBuilder to make our intrinsic calls in the inliner so that we pick up
...
line info correctly.
llvm-svn: 132961
2011-06-14 02:51:53 +00:00
Evan Cheng
754979c4d4
Update BitcodeWriter to match recent Triple changes. rdar://9603399
...
llvm-svn: 132959
2011-06-14 01:51:33 +00:00
Nick Lewycky
c473e8f0e2
Use Value::stripPointerCasts instead of reinventing part of the wheel.
...
llvm-svn: 132954
2011-06-14 00:59:24 +00:00
Cameron Zwarich
5b03baf002
Fix grammar.
...
llvm-svn: 132952
2011-06-13 23:39:23 +00:00
Jim Grosbach
eff8e5d153
Clean up a few 80 column violations.
...
llvm-svn: 132946
2011-06-13 22:54:22 +00:00
Cameron Zwarich
c122dc4050
Rename MergeInType to MergeInTypeForLoadOrStore.
...
llvm-svn: 132940
2011-06-13 21:44:43 +00:00
Cameron Zwarich
e2e3fc3fe2
Remove the HadAVector instance variable and replace it with a use of ScalarKind.
...
llvm-svn: 132939
2011-06-13 21:44:40 +00:00
Cameron Zwarich
3614d9bec8
Remove a vacuous check.
...
llvm-svn: 132938
2011-06-13 21:44:38 +00:00
Cameron Zwarich
934fdc5aba
Have SRoA explicitly track the kind of scalar it is promoting. This is pretty
...
spartan right now, but I plan to encode more information in this enum to improve
the correctness and reliability of SRoA. At least this first pass makes it
possible to make VectorTy an actual VectorType.
llvm-svn: 132937
2011-06-13 21:44:35 +00:00
Cameron Zwarich
ab21bb23b9
Remove an argument that is always true.
...
llvm-svn: 132936
2011-06-13 21:44:31 +00:00
Jim Grosbach
3713c9ddfa
Fix coordination for using R4 in Thumb1 as a scratch for SP restore.
...
The logic for reserving R4 for use as a scratch needs to match that for
actually using it. Also, it's not necessary for immediate <=508, so adjust
the value checked.
llvm-svn: 132934
2011-06-13 21:18:25 +00:00
Evan Cheng
4fd206b70b
Aliased flag options should be directed to stdout, not stderr to be consistent. Patch by Julien Lerouge.
...
llvm-svn: 132931
2011-06-13 20:45:54 +00:00
Bill Wendling
a3941782e9
Add compatibility version when compiling the Apple way.
...
<rdar://problem/9600408>
llvm-svn: 132929
2011-06-13 20:14:37 +00:00
Stuart Hastings
65d0bc94b4
Avoid fusing bitcasts with dynamic allocas if the amount-to-allocate
...
might overflow. Re-typing the alloca to a larger type (e.g. double)
hoists a shift into the alloca, potentially exposing overflow in the
expression. rdar://problem/9265821
llvm-svn: 132926
2011-06-13 18:48:49 +00:00
Benjamin Kramer
8f8ff3e797
Move class into an anonymous namespace.
...
llvm-svn: 132925
2011-06-13 18:38:56 +00:00
Nadav Rotem
b075078f05
Fix a bug in FindMemType. When widening vector loads, use a wider memory type
...
only if the number of packed elements is a power of two.
Bug found in Duncan's testcase.
llvm-svn: 132923
2011-06-13 18:13:24 +00:00
Chris Lattner
71a35fd7e7
mention graph vis isn't available in Release builds.
...
llvm-svn: 132916
2011-06-13 15:59:35 +00:00
Benjamin Kramer
5079b61657
InstCombine: Fold A-b == C --> b == A-C if A and C are constants.
...
The backend already knew this trick.
llvm-svn: 132915
2011-06-13 15:24:24 +00:00
Benjamin Kramer
8bd126a5c6
Revert r132910 and r132909 on behalf of Michael. They didn't build with clang.
...
llvm-svn: 132914
2011-06-13 12:56:51 +00:00
Michael J. Spencer
8288453980
Revert the last two commits in the series. r132911, r132912.
...
llvm-svn: 132913
2011-06-13 11:53:31 +00:00
Michael J. Spencer
c6fd5f05fc
Modify llvm-nm to use new Binary creation method.
...
llvm-svn: 132912
2011-06-13 11:12:42 +00:00
Michael J. Spencer
642af05937
Make Binary the parent of ObjectFile and update children to new interface.
...
llvm-svn: 132911
2011-06-13 11:12:33 +00:00
Michael J. Spencer
bc30ca9794
Add Binary class. This is a cleaner parent than ObjectFile.
...
llvm-svn: 132910
2011-06-13 11:12:12 +00:00
Michael J. Spencer
d6178b9f59
Add Object/Error.
...
llvm-svn: 132909
2011-06-13 11:11:59 +00:00
Michael J. Spencer
39a329f72f
Fix spelling and sort CMakeLists.txt.
...
llvm-svn: 132908
2011-06-13 11:11:39 +00:00
Nick Lewycky
14f831fdfa
It's possible that an all-zero GEP may be used as the argument to lifetime
...
intrinsics. In fact, we'll optimize a bitcast to that when possible. Detect it
when looking for the lifetime intrinsics.
No test case, noticed by inspection.
llvm-svn: 132906
2011-06-13 07:52:46 +00:00
Jakob Stoklund Olesen
2cac2ea7a1
Be less aggressive about hinting in RAFast.
...
In particular, don't spill dirty registers only to satisfy a hint. It is
not worth it.
The attached test case provides an example where the fast allocator
would spill a register when other registers are available.
llvm-svn: 132900
2011-06-13 03:26:46 +00:00
Jakob Stoklund Olesen
fbd53ff1bc
Include callee-saved registers in debug output.
...
llvm-svn: 132899
2011-06-13 03:26:42 +00:00
Rafael Espindola
36459b9b7f
Fix invalid uses of Twine. Hopefully this fixes the problem that Takumi is
...
having.
llvm-svn: 132898
2011-06-13 03:09:13 +00:00
Benjamin Kramer
b0765d6ac0
InstCombine: Shrink ((zext X) & C1) == C2 to fold away the cast if the "zext" and the "and" have one use.
...
llvm-svn: 132897
2011-06-12 22:48:00 +00:00
Benjamin Kramer
4a0f846bbd
Simplify code. No functionality changes, name changes aside.
...
llvm-svn: 132896
2011-06-12 22:47:53 +00:00
Benjamin Kramer
b43ca62f3b
Happy new year.
...
Only 163 days late!
llvm-svn: 132895
2011-06-12 15:26:54 +00:00
Nadav Rotem
187e654876
Fix a bug in the calculation of the vectorTypeBreakdown into registers. Odd
...
types such as i33 were rounded to i32. Originated from Duncan's testcase.
llvm-svn: 132893
2011-06-12 14:56:55 +00:00
Nadav Rotem
ba2691bc23
Improve the generated code by getCopyFromPartsVector for promoted integer types.
...
Instead of scalarizing, and doing an element-by-element truncat, use vector
truncate.
Add support for scalarization of vectors: i8 -> <1 x i1> (from Duncan's
testcase).
llvm-svn: 132892
2011-06-12 14:49:38 +00:00
Nadav Rotem
1086d5acda
Bugfix: When looking for a legal vector type, stop looking when a non-simple
...
element type is found.
This fix addresses some of the tests in Duncan's testcase (forthcoming).
llvm-svn: 132891
2011-06-12 14:40:30 +00:00