Devang Patel
f3d7c08e34
Revert r88939.
...
llvm-svn: 88973
2009-11-16 21:53:40 +00:00
David Greene
a3ce7828b2
Fix an expensive-checks error.
...
The Mask and LHSMask may not be of the same size, so don't do the
transformation if they're different.
llvm-svn: 88972
2009-11-16 21:52:23 +00:00
Jim Grosbach
56ee15c162
Make the pass class name more explicit.
...
llvm-svn: 88964
2009-11-16 21:13:22 +00:00
Jim Grosbach
544b15cbc3
make pass name a bit more clear
...
llvm-svn: 88961
2009-11-16 21:03:58 +00:00
Dan Gohman
93f529d514
Sink a #include <map> to where it's actually needed.
...
llvm-svn: 88956
2009-11-16 20:40:47 +00:00
Dan Gohman
6b3f32e6d7
Fix a typo in a comment.
...
llvm-svn: 88953
2009-11-16 20:35:59 +00:00
Bob Wilson
44724c4122
Fix a comment.
...
llvm-svn: 88940
2009-11-16 19:33:27 +00:00
Devang Patel
2ffd9935a1
Add VISIBILITY_HIDDEN marker.
...
llvm-svn: 88939
2009-11-16 19:20:48 +00:00
Jim Grosbach
9785e5914f
Simplify thumb2 jump table adjustments. Remove unnecessary calculation and
...
usage of block sizes and offsets.
llvm-svn: 88935
2009-11-16 18:58:52 +00:00
Jim Grosbach
87b0f0d95c
clarify comment
...
llvm-svn: 88933
2009-11-16 18:55:47 +00:00
Bob Wilson
1a8ea98b76
Fix some comments.
...
llvm-svn: 88932
2009-11-16 18:54:08 +00:00
Bob Wilson
3794ec2519
Whitespace: be consistent with pointer syntax.
...
llvm-svn: 88929
2009-11-16 18:08:46 +00:00
Bob Wilson
699f5b9a0a
Clean up whitespace.
...
llvm-svn: 88927
2009-11-16 17:56:13 +00:00
Jim Grosbach
9c148c2163
back off for a bit. tracking down weirdness
...
llvm-svn: 88919
2009-11-16 17:17:48 +00:00
Jim Grosbach
47d5e333ff
Analyze has to be before checking the condition, obviously. Properly construct an iterator for prior.
...
llvm-svn: 88917
2009-11-16 17:10:56 +00:00
David Greene
25905c8336
Support spill comments.
...
Have the asm printer emit a comment if an instruction is a spill or
reload and have the spiller mark copies it introdues so the asm printer
can also annotate those.
llvm-svn: 88911
2009-11-16 15:12:23 +00:00
Duncan Sands
9649e6085d
BuildIntCast takes an additional parameter, isSigned.
...
llvm-svn: 88910
2009-11-16 13:15:28 +00:00
Duncan Sands
e5de4a9ad6
CreateIntCast takes an "isSigned" parameter. Pass "true" for it, rather than
...
a name.
llvm-svn: 88908
2009-11-16 12:32:28 +00:00
Evan Cheng
00e87d19f5
Special case FixedStackPseudoSourceValueVal as well. Do we really need to differentiate PseudoSourceValueVal from FixedStackPseudoSourceValueVal at this level?
...
llvm-svn: 88902
2009-11-16 07:10:36 +00:00
Evan Cheng
597f7b6ee3
Check if subreg index is zero.
...
llvm-svn: 88899
2009-11-16 06:31:49 +00:00
Evan Cheng
11bf4493d4
For some targets, a copy can use a register multiple times, e.g. ppc.
...
llvm-svn: 88895
2009-11-16 05:52:06 +00:00
Bruno Cardoso Lopes
5bf807688e
Disable ldc1/sdc1 instructions for mips1 targets.
...
llvm-svn: 88887
2009-11-16 04:35:29 +00:00
Bruno Cardoso Lopes
537e409c58
- Fix a small bug while handling target constant pools (one param was missing).
...
- Add a smarter constant pool loading, instead of:
lui $2, %hi($CPI1_0)
addiu $2, $2, %lo($CPI1_0)
lwc1 $f0, 0($2)
Generate:
lui $2, %hi($CPI1_0)
lwc1 $f0, %lo($CPI1_0)($2)
llvm-svn: 88886
2009-11-16 04:33:42 +00:00
Chris Lattner
e58c05780e
typo spotted by duncan.
...
llvm-svn: 88884
2009-11-16 03:51:42 +00:00
Lang Hames
01f31c0a48
Fixes the bug exposed by Anton's test case in PR 5495:
...
Make sure when ProcessImplicitDefs removes a copy which kills its source reg that it
removes the copy from said reg's Kills list.
llvm-svn: 88881
2009-11-16 02:07:31 +00:00
Lang Hames
968bd90f88
Fix for the original bug in PR5495 - Look at uses as well as defs when determining the PHI-copy insert point.
...
- Patch by Andrew Canis!
llvm-svn: 88880
2009-11-16 02:00:09 +00:00
Jim Grosbach
01c1cae34d
Detect need for autoalignment of the stack earlier to catch spills more
...
conservatively. eliminateFrameIndex() machinery adjust to handle addr mode
6 (vld1/vst1) used for spills. Fix tests to expect aligned Q-reg spilling
llvm-svn: 88874
2009-11-15 21:45:34 +00:00
Jim Grosbach
74ae3e5b0e
set the def of the VLD1q64 properly
...
llvm-svn: 88873
2009-11-15 21:05:07 +00:00
Chris Lattner
7735878591
teach LVI to infer edge information from switch instructions.
...
This allows JT to eliminate a ton of infeasible edges when
handling code like the templates in PatternMatch.h
llvm-svn: 88869
2009-11-15 20:02:12 +00:00
Chris Lattner
b0c0a0df3e
fix a logic error that would cause LVI-JT to miscompile
...
some conditionals
llvm-svn: 88868
2009-11-15 20:01:24 +00:00
Chris Lattner
2c708562f5
implement the first stab at caching queries. This isn't correct
...
(because the invalidation logic is missing) but LVI isn't enabled
by default anyway.
llvm-svn: 88867
2009-11-15 20:00:52 +00:00
Chris Lattner
af025d3f6e
refactor a bunch of code forming the new LazyValueInfoCache
...
and LVIQuery classes, no functionality change.
llvm-svn: 88866
2009-11-15 19:59:49 +00:00
Chris Lattner
9d9812a636
make PRE of loads preserve the alignment of the moved load instruction.
...
llvm-svn: 88865
2009-11-15 19:58:31 +00:00
Chris Lattner
5f037b6439
fix a bug handling 'not x' when x is undef.
...
llvm-svn: 88864
2009-11-15 19:57:43 +00:00
Nick Lewycky
ef4ea9a2a9
Add a complex missed optimization opportunity I came across while investigating
...
bug 5438.
llvm-svn: 88855
2009-11-15 17:51:23 +00:00
Edward O'Callaghan
e3f3ca70e6
Add PSP OS Target to Triple, Credit to Bruno Cardoso Lopes.
...
llvm-svn: 88849
2009-11-15 10:18:17 +00:00
Nick Lewycky
95148689c9
Revert r88830 and r88831 which appear to have caused a selfhost buildbot some
...
grief. I suspect this patch merely exposed a bug else.
llvm-svn: 88841
2009-11-15 07:47:32 +00:00
Nick Lewycky
e29fa4c7a1
Teach instcombine to look for booleans in wider integers when it encounters a
...
zext(icmp). It may be able to optimize that away. This fixes one of the cases
in PR5438.
llvm-svn: 88830
2009-11-15 05:55:17 +00:00
Lang Hames
6da915ac86
Added an assert to the PBQP allocator to catch infinite cost solutions which might otherwise lead to miscompilations.
...
llvm-svn: 88829
2009-11-15 04:39:51 +00:00
Daniel Dunbar
18f845fccd
Remove bogus corei7 and atom entries, the family was incorrect.
...
llvm-svn: 88818
2009-11-14 22:04:42 +00:00
Daniel Dunbar
397235f11c
Fill out X86 table, although we are missing lots of names for things. We now
...
properly detect my Xeon box though.
llvm-svn: 88814
2009-11-14 21:36:19 +00:00
Daniel Dunbar
d90a9a04f3
Report the detected host CPU in --version.
...
llvm-svn: 88813
2009-11-14 21:36:07 +00:00
Jim Grosbach
e07594df45
cleanup.
...
llvm-svn: 88812
2009-11-14 21:33:37 +00:00
Jim Grosbach
ae84426ed8
Do not merge jump tables this early. Branch folding will do any necessary
...
merges, and until then, it's useful to keep the tables separate for ease
of manipulation.
llvm-svn: 88806
2009-11-14 20:15:03 +00:00
Jim Grosbach
43d2108546
Cleanup flow, and only update the jump table we're analyzing when replacing a destination MBB.
...
llvm-svn: 88805
2009-11-14 20:10:18 +00:00
Jim Grosbach
9c8609ea1c
Add function to replace a destination MBB in a single jump table
...
llvm-svn: 88804
2009-11-14 20:09:13 +00:00
Richard Osborne
d5f2745965
Add XCore support for arbitrary-sized aggregate returns.
...
llvm-svn: 88802
2009-11-14 19:33:35 +00:00
Anton Korobeynikov
fd0c7bae2a
Temporary disable the error - it seems to be too conservative.
...
llvm-svn: 88800
2009-11-14 18:01:41 +00:00
Benjamin Kramer
8c19a8f17b
Implement DISABLE_INLINE for MSVC. This required changing the position in all
...
forward declaration and patching tblgen to emit it right. Patch by Amine Khaldi!
llvm-svn: 88798
2009-11-14 16:37:18 +00:00
Daniel Dunbar
241d01b590
Add llvm::sys::getHostCPUName, for detecting the LLVM name for the host CPU.
...
- This is an initial step towards -march=native support in Clang, and towards
eliminating host dependencies in the targets. See PR5389.
- Patch by Roman Divacky!
llvm-svn: 88768
2009-11-14 10:09:12 +00:00