Commit Graph

54182 Commits

Author SHA1 Message Date
Jim Grosbach c670bdc311 tbb opt off by default
llvm-svn: 88921
2009-11-16 17:24:45 +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
Douglas Gregor 16917aa19d Make ERROR_IF_USED macro work with GCC <= 4.2, Apple GCCs
llvm-svn: 88916
2009-11-16 16:56:48 +00:00
Duncan Sands 551861e7d9 Make sure that if anyone passes a name by accident for the isSigned
parameter of CreateIntCast then they get an error from the compiler
(or from the linker with a non-gcc compiler).  Another possibility
is to flip the order of the DestTy and isSigned parameters, since you
should then get a compiler warning if you try to use a char* for a
Type*.

llvm-svn: 88913
2009-11-16 15:28:17 +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
Evan Cheng 8ca5d4b9ad xfail for now. It has been failing.
llvm-svn: 88892
2009-11-16 05:44:04 +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 ee4cf81d9a disable copying, enforce some invariants.
llvm-svn: 88870
2009-11-15 20:03:53 +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
Chris Lattner fb7613a5d6 mark getIntrinsicID() 'readonly'. This allows various classof methods
(like DbgDeclareInst's) to shrink substantially.  It sucks that we have
to pull Compiler.h into such a public header, but at least Compiler.h
doesn't pull anything else in.

llvm-svn: 88863
2009-11-15 19:56:28 +00:00
Chris Lattner f456ae74c8 add attributes for readnone/readonly functions.
llvm-svn: 88862
2009-11-15 19:54:31 +00:00
Chris Lattner 8938c85eb5 add a version of array_pod_sort that takes a custom comparator function.
llvm-svn: 88861
2009-11-15 19:52: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
Daniel Dunbar 9a61bd5022 lit: Factor a new OneCommandPerFileTest out of SyntaxCheckTest.
- Used for running a single fixed command on a directory of files, with the
   option of deriving a temporary input file from the test source.

llvm-svn: 88844
2009-11-15 08:10:29 +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
Daniel Dunbar d4764717de Remove duplicate implementation of excludes functionality, and support excluding
dirnames.

Also, add support for the 'unsupported' config property.

llvm-svn: 88838
2009-11-15 07:22:58 +00:00
Nick Lewycky 6a6ac7e105 Correct typo.
llvm-svn: 88831
2009-11-15 06:16:57 +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 ad6c15465c lit: Add --repeat=N option, for running each test N times.
- Currently just useful for timing, although it could be extended as one (bad) way to deal with flaky tests.

llvm-svn: 88827
2009-11-15 01:02:09 +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
Jim Grosbach f16a3b7a9f remove xfail
llvm-svn: 88817
2009-11-14 21:57:35 +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
Benjamin Kramer 69865cc1db Remove dead variable found by clang++.
llvm-svn: 88803
2009-11-14 19:51:20 +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