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
Benjamin Kramer
4197054ece
This test doesn't work on arm either.
...
llvm-svn: 88794
2009-11-14 15:15:39 +00:00
Benjamin Kramer
56ffa48473
Make NORETURN working with MSVC. MSVC only accepts NORETURN in front of the
...
decl so move it there. GCC accepts it both in front and after decls.
llvm-svn: 88791
2009-11-14 14:14:58 +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
Nick Lewycky
7935bcb0fe
Remove LLVMContext from reassociate. It was threaded through every function but
...
ultimately never used.
llvm-svn: 88763
2009-11-14 07:25:54 +00:00
Sanjiv Gupta
d03742a122
revert 88761 as it fails builds.
...
llvm-svn: 88762
2009-11-14 07:22:25 +00:00
Sanjiv Gupta
8f9c22646b
Fix debug info crashes for PIC16.
...
llvm-svn: 88761
2009-11-14 06:19:49 +00:00
Nick Lewycky
c53e2ecf02
Teach BasicAA that a constant expression can't alias memory provably not
...
allocated until runtime (such as an alloca). Patch by Hans Wennborg!
llvm-svn: 88760
2009-11-14 06:15:14 +00:00
Evan Cheng
16797a1f55
Added getSubRegIndex(A,B) that returns subreg index of A to B. Use it to replace broken code in VirtRegRewriter.
...
llvm-svn: 88753
2009-11-14 03:42:17 +00:00
Evan Cheng
6ad7da96fe
- Change TargetInstrInfo::reMaterialize to pass in TargetRegisterInfo.
...
- If destination is a physical register and it has a subreg index, use the
sub-register instead.
This fixes PR5423.
llvm-svn: 88745
2009-11-14 02:55:43 +00:00
Dan Gohman
81132465d3
Add an option for running GVN with redundant load processing disabled.
...
llvm-svn: 88742
2009-11-14 02:27:51 +00:00
Evan Cheng
e3b312fec9
Add radar number.
...
llvm-svn: 88739
2009-11-14 02:11:32 +00:00
Evan Cheng
d2c10508cd
Fix PR5412: Fix an inverted check and another missing sub-register check.
...
llvm-svn: 88738
2009-11-14 02:09:09 +00:00
Dan Gohman
a627e26d39
Enable the tail call optimization when the caller returns undef.
...
llvm-svn: 88737
2009-11-14 02:06:30 +00:00
Evan Cheng
66401c90da
When expanding t2STRDi8 r, r to two stores, add kill markers correctly.
...
llvm-svn: 88734
2009-11-14 01:50:00 +00:00
Jakob Stoklund Olesen
24b027401e
Fix bug in -split-phi-edges.
...
When splitting an edge after a machine basic block with fall-through, we
forgot to insert a jump instruction. Fix this by calling updateTerminator() on
the fall-through block when relevant.
Also be more precise in PHIElimination::isLiveIn.
llvm-svn: 88728
2009-11-14 00:38:13 +00:00
Jakob Stoklund Olesen
15ca009ee7
Update MachineDominator information
...
llvm-svn: 88727
2009-11-14 00:38:06 +00:00
Lang Hames
6b7233afc6
Added an API to the SlotIndexes pass to allow new instructions to be inserted into the numbering.
...
PreAllocSplitting is now using this API to insert code.
llvm-svn: 88725
2009-11-14 00:02:51 +00:00
Evan Cheng
78fa302e7d
Fix PR5411. Bug in UpdateKills. A reg def partially define its super-registers.
...
llvm-svn: 88719
2009-11-13 23:16:41 +00:00
Eric Christopher
96b26acd0f
Remove extraneous commit.
...
llvm-svn: 88716
2009-11-13 23:08:47 +00:00
Eric Christopher
0cabd30b22
Print out something, even if it's non-parseable later when we've
...
got ghost linkage. It's better than aborting.
llvm-svn: 88715
2009-11-13 23:00:14 +00:00
Dan Gohman
6e99014947
Move the FixedStackPseudoSourceValueVal enum value before InstructionVal
...
so that isa<Instructon> doesn't return true for FixedStackPseudoSourceValue
values. This fixes a variety of problems, including crashes with -debug
and -print-machineinstrs. Also, add a comment to warn about this.
llvm-svn: 88711
2009-11-13 22:24:13 +00:00
Bill Wendling
6787318557
Disable the JITTest.NoStubs test for Darwin PPC. It apparently doesn't implement
...
emitFunctionStubAtAddr.
llvm-svn: 88708
2009-11-13 21:58:54 +00:00
Jakob Stoklund Olesen
ad205d6102
Fix PHIElimination optimization that uses MBB->getBasicBlock.
...
The BasicBlock associated with a MachineBasicBlock does not necessarily
correspond to the code in the MBB.
Don't insert a new IR BasicBlock when splitting critical edges. We are not
supposed to modify the IR during codegen, and we should be able to do just
fine with a NULL BB.
llvm-svn: 88707
2009-11-13 21:56:15 +00:00
Jakob Stoklund Olesen
27440e71fc
Add MachineFunction::verify() to call the machine code verifier directly.
...
llvm-svn: 88706
2009-11-13 21:56:09 +00:00
Jakob Stoklund Olesen
ff0302489b
The instruction pointer %RIP is a reserved register on x86_64.
...
llvm-svn: 88705
2009-11-13 21:56:01 +00:00