Chris Lattner
85ef93f130
expand my hack to work with nodes that have flags but no chains and the
...
isel doesn't know the correct # results. This fixes 8 codegen tests,
down to 22 failures.
llvm-svn: 96815
2010-02-22 22:37:11 +00:00
Chris Lattner
bb2afb79c0
add a new CheckMultiOpcode opcode for checking that a node
...
has one of the list of acceptable opcodes for a complex
pattern. This fixes 4 regtest failures.
llvm-svn: 96814
2010-02-22 22:30:37 +00:00
Chris Lattner
a5a298517e
When matching patterns that have a complex pattern as their root, make
...
sure to only run the complex pattern on nodes where the target opts in.
This patch only handles targets with one opcode specified so far, but
fixes 16 failures, only 34 left.
llvm-svn: 96813
2010-02-22 22:18:05 +00:00
Chris Lattner
065882a2ca
add some debug hooks for tracking the behavior of the isel.
...
llvm-svn: 96812
2010-02-22 22:15:39 +00:00
Chris Lattner
3ac438b920
remove dupes now.
...
llvm-svn: 96811
2010-02-22 22:15:05 +00:00
Chris Lattner
435611200b
move #includes earlier.
...
llvm-svn: 96810
2010-02-22 22:14:47 +00:00
Daniel Dunbar
5fe3129a5d
MC/Mach-O: Remove non-sensical comment, and add a missing AddValueSymbols call.
...
llvm-svn: 96809
2010-02-22 22:08:57 +00:00
Dan Gohman
ebf57b06ea
Minor formatting cleanup.
...
llvm-svn: 96808
2010-02-22 22:07:27 +00:00
Dan Gohman
6eeabaad2b
Use Instruction::isCommutative instead of duplicating it.
...
llvm-svn: 96807
2010-02-22 22:05:18 +00:00
Johnny Chen
5ddd4aca97
Added SEL, SXTB16, SXTAB16, UXTAB16, SMMULR, SMMLAR, SMMLSR, SMUAD, and SMUSD,
...
for disassembly only.
llvm-svn: 96806
2010-02-22 21:50:40 +00:00
Bob Wilson
1da9041913
Erase deleted instructions from GVN's ValueTable. This fixes assertion
...
failures from ValueTable::verifyRemoved() when using -debug.
llvm-svn: 96805
2010-02-22 21:39:41 +00:00
Fariborz Jahanian
b8f018d1e9
Fixes a rewriting of byref variable when its initializer is
...
itself rewritten. Radar 7669784.
llvm-svn: 96798
2010-02-22 20:48:10 +00:00
Dan Gohman
be24c455c4
Actually enable the -enable-unsafe-fp-math tests.
...
llvm-svn: 96796
2010-02-22 18:53:26 +00:00
Johnny Chen
9d4a3e2a7c
Added a bunch of instructions for disassembly only:
...
o signed/unsigned add/subtract
o signed/unsigned halving add/subtract
o unsigned sum of absolute difference [and accumulate]
o signed/unsigned saturate
o signed multiply accumulate/subtract [long] dual
llvm-svn: 96795
2010-02-22 18:50:54 +00:00
Douglas Gregor
2b76dd9a9e
Don't assert that we have a valid access specifier on an invalid
...
declaration. This is the trivial part of PR6365.
llvm-svn: 96792
2010-02-22 17:53:38 +00:00
Douglas Gregor
dd4831794b
Set access specifiers on imported declarations.
...
llvm-svn: 96788
2010-02-22 17:42:47 +00:00
Douglas Gregor
d28f0412e4
Do not require a complete type when checking for a pointer conversion
...
between cv1 T* and cv2 T*.
llvm-svn: 96787
2010-02-22 17:06:41 +00:00
Douglas Gregor
f4f2e0247f
Change the name of the vtable-debugging environment variable to
...
CLANG_VTABLE_DEBUG.
llvm-svn: 96785
2010-02-22 16:48:26 +00:00
Douglas Gregor
76eb74a1cd
Don't use NamedDecl::getNameAsCString() when dealing with C++ methods,
...
since they may not have normal identifiers for names. Fixes PR6369.
llvm-svn: 96784
2010-02-22 16:44:27 +00:00
Arnold Schwaighofer
30ece5b807
Mark the return address stack slot as mutable when moving the return address
...
during a tail call. A parameter might overwrite this stack slot during the tail
call.
The sequence during a tail call is:
1.) load return address to temp reg
2.) move parameters (might involve storing to return address stack slot)
3.) store return address to new location from temp reg
If the stack location is marked immutable CodeGen can colocate load (1) with the
store (3).
This fixes bug 6225.
llvm-svn: 96783
2010-02-22 16:18:09 +00:00
Daniel Dunbar
260918ce5c
Revert "Simplify code: Succ is guaranteed to be not NULL.", which turns out to
...
not be guaranteed.
llvm-svn: 96782
2010-02-22 05:58:59 +00:00
Daniel Dunbar
f16bc6d296
LLVMC/MultiplePluginPriorities.td: Generally XFAIL this test for now, it is
...
still failing during (one) llvm-gcc powerpc build, and is also failing on my
x86_64-apple-darwin10.
llvm-svn: 96781
2010-02-22 05:55:32 +00:00
Dan Gohman
8c16b38262
Remove unused variables and parameters.
...
llvm-svn: 96780
2010-02-22 04:11:59 +00:00
Dan Gohman
30ff721f09
Fix various doxygen warnings.
...
llvm-svn: 96779
2010-02-22 04:10:52 +00:00
Dan Gohman
c1a545c307
Fix a typo in a comment.
...
llvm-svn: 96778
2010-02-22 04:09:26 +00:00
Dan Gohman
754e4a9801
Constant-fold certain comparisons with infinity and negative infinity.
...
llvm-svn: 96777
2010-02-22 04:06:03 +00:00
Dan Gohman
bf7b192f44
Rename a variable to avoid a -Wshadow warning.
...
llvm-svn: 96776
2010-02-22 04:04:24 +00:00
Dan Gohman
b87de8d30d
Remove the logic for reasoning about NaNs from the code that forms
...
SSE min and max instructions. The real thing this code needs to be
concerned about is negative zero.
Update the sse-minmax.ll test accordingly, and add tests for
-enable-unsafe-fp-math mode as well.
llvm-svn: 96775
2010-02-22 04:03:39 +00:00
Dan Gohman
4506fcb3c2
When emitting an instruction which depends on both a post-incremented
...
induction variable value and a loop-variant value, don't force the
insert position to be at the post-increment position, because it may
not be dominated by the loop-variant value. This fixes a
use-before-def problem noticed on PPC.
llvm-svn: 96774
2010-02-22 03:59:54 +00:00
Zhongxing Xu
8064a5ba88
Remove dead code.
...
llvm-svn: 96773
2010-02-22 03:50:18 +00:00
Zhongxing Xu
d39620c451
Simplify code: Succ is guaranteed to be not NULL.
...
llvm-svn: 96772
2010-02-22 02:59:27 +00:00
Dan Gohman
740909be2d
This cast<Instruction> is unnecessary.
...
llvm-svn: 96771
2010-02-22 02:07:36 +00:00
Chris Lattner
b67f16f218
enhance my hack for flags handling, this allows us to pass
...
CodeGen/X86/pr2182.ll. Down to 13 x86 failures out of ~1100
llvm-svn: 96770
2010-02-22 00:47:38 +00:00
Chris Lattner
dd1cb5b2ec
Add 'previous declaration is here' note for param redefinition
...
errors, e.g.:
t.c:1:21: error: redefinition of parameter 'x'
int test(int x, int x);
^
t.c:1:14: note: previous declaration is here
int test(int x, int x);
^
llvm-svn: 96769
2010-02-22 00:40:25 +00:00
Chris Lattner
db8d6678e9
fix an incorrect VT: eflags is always i32. The bug was causing us to
...
create an X86ISD::Cmp node with result type i64 on the
CodeGen/X86/shift-i256.ll testcase and the new isel was assert on it
downstream.
llvm-svn: 96768
2010-02-22 00:28:59 +00:00
Chris Lattner
9fd97c3690
fix most of the failures in the x86 suite by handling multiple
...
result nodes correctly. Note that this includes a horrible hack
in DAGISelHeader which cannot be fixed reasonably without
eliminating (parallel) from input patterns. That, in turn,
can't be done until we support writing multiple result patterns
for the X86and_flag and related multiple-result nodes.
llvm-svn: 96767
2010-02-21 23:54:05 +00:00
Douglas Gregor
36c569fb33
Eliminate the default arguments to ASTContext::getFunctionType(),
...
fixing up a few callers that thought they were propagating NoReturn
information but were in fact saying something about exception
specifications.
llvm-svn: 96766
2010-02-21 22:15:06 +00:00
Daniel Dunbar
7126183006
Spell string.h correctly.
...
llvm-svn: 96765
2010-02-21 22:14:52 +00:00
Daniel Dunbar
65927014a9
Add missing include, noticed by ace2001ac on IRC.
...
llvm-svn: 96764
2010-02-21 22:07:42 +00:00
Daniel Dunbar
40eb7f0991
MC/X86: Add stub AsmBackend.
...
llvm-svn: 96763
2010-02-21 21:54:14 +00:00
Daniel Dunbar
3bea9bfa04
MC: Sketch registry support for target specific assembler backends.
...
llvm-svn: 96762
2010-02-21 21:53:53 +00:00
Daniel Dunbar
dc95c69662
Formatting tweaks (trailing whitespace, ordering, comments).
...
llvm-svn: 96761
2010-02-21 21:53:37 +00:00
Daniel Dunbar
43b464cfe5
Remove unused includes.
...
llvm-svn: 96760
2010-02-21 21:47:19 +00:00
Douglas Gregor
6122e55813
De-XFAIL some win32 tests that are now passing
...
llvm-svn: 96759
2010-02-21 20:58:24 +00:00
Chris Lattner
26c79d13f2
fix an odd thinko in an assertion, all arm tests pass now.
...
llvm-svn: 96758
2010-02-21 20:57:28 +00:00
Chris Lattner
2bad7b0456
Always emit register class id references as i32 like
...
DAGISelEmitter does. This fixes 11 arm failures (8
left).
llvm-svn: 96757
2010-02-21 20:53:45 +00:00
Chris Lattner
745219ea64
add some no-unwinds, other minor cleanups.
...
llvm-svn: 96756
2010-02-21 20:33:20 +00:00
Anton Korobeynikov
31a9212b0b
It turned out that we failed to emit proper symbol stubs on non-x86/darwin for ages (we emitted a reference to a stub, but no stub was emitted). The code inside x86-32/macho target objfile lowering should actually be the generic one - move it there.
...
This (I really, really hope) should fix EH issues on ppc/darwin
and arm/darwin.
llvm-svn: 96755
2010-02-21 20:28:15 +00:00
Douglas Gregor
e61e24a5e3
Attempt to fix the MSVC9 failure with c-indext-test, where the CIndex DLL
...
and the c-index-test executable end up getting different copies of
stderr, causing non-deterministic ordering of output. Fixed by
flushing the file after printing a diagnostic (only on Windows).
llvm-svn: 96754
2010-02-21 20:15:42 +00:00
Chris Lattner
d410fc2cee
speculatively teach OPC_CheckValueType and OPC_EmitNode to handle
...
MVT::iPTR.
llvm-svn: 96753
2010-02-21 20:15:25 +00:00