Charles Davis
8e495e78a5
When comparing two calling conventions after redeclaring a function, compare
...
the canonical calling conventions instead of comparing the raw calling
conventions directly. Fixes PR6361.
llvm-svn: 96895
2010-02-23 06:13:55 +00:00
Chris Lattner
48370e14e7
fix a type mismatch in this pattern, where we were using an i64 imm in a
...
place where an i32 imm was required, the old isel just got lucky.
This fixes CodeGen/X86/x86-64-and-mask.ll
llvm-svn: 96894
2010-02-23 06:09:57 +00:00
Ted Kremenek
552eeaa93e
Move the rest of the unreachable code analysis from libSema
...
to libAnalysis (with only the error reporting in libSema).
llvm-svn: 96893
2010-02-23 05:59:20 +00:00
Ted Kremenek
9884e365dc
Simplify check for basic block with a CXXTryStmt terminator.
...
llvm-svn: 96892
2010-02-23 05:59:16 +00:00
Chris Lattner
f66b6aa232
more tidying up
...
llvm-svn: 96891
2010-02-23 05:59:10 +00:00
Bob Wilson
923261bbe9
Update memdep when load PRE inserts a new load, and add some debug output.
...
I don't have a small testcase for this.
llvm-svn: 96890
2010-02-23 05:55:00 +00:00
Chris Lattner
ee820ace06
reduce indentation by eliminating 'else after return'
...
llvm-svn: 96889
2010-02-23 05:51:07 +00:00
Chris Lattner
c51b7198a9
reapply my cellspu changes with a fix to not break the old isel.
...
llvm-svn: 96885
2010-02-23 05:30:43 +00:00
Charles Davis
3fc5107cd9
When a reference to a field of a struct/union/class is passed to the
...
__alignof__ operator, make sure to take into account the packed alignment
of the struct/union/class itself. Matches GCC's behavior and fixes PR6362.
llvm-svn: 96884
2010-02-23 04:52:00 +00:00
Anders Carlsson
a8796c692c
Stub out IsOverriderUsed.
...
llvm-svn: 96883
2010-02-23 04:26:39 +00:00
Anders Carlsson
0570f71255
More fixes. Don't try to emit a virtual base vtable if the virtual base in question is a primary virtual base of some other base.
...
llvm-svn: 96881
2010-02-23 03:48:14 +00:00
Anders Carlsson
bae46277fe
Always emit vcall offset for the primary base, not only if it's virtual. Remove a debug printf, and add the test case that now passes.
...
llvm-svn: 96880
2010-02-23 03:26:17 +00:00
Anders Carlsson
510d22d097
Simplify the vcall offset calculation and make it give the correct answers :) My test case now has the right values but in the wrong order.
...
llvm-svn: 96877
2010-02-23 03:14:49 +00:00
Ted Kremenek
49fd94d261
Add missing header file.
...
llvm-svn: 96875
2010-02-23 03:08:26 +00:00
Anders Carlsson
30f5301e54
More work on vcall offsets. We now emit the right number of vcall offsets in my local test case, but not the right values.
...
llvm-svn: 96874
2010-02-23 02:47:31 +00:00
Dan Gohman
8ad777dc75
Update LangRef to match the code; pointers default to being 64-bit.
...
llvm-svn: 96873
2010-02-23 02:44:03 +00:00
Ted Kremenek
7296de9ae3
Start moving some of the logic for the unreachable code analysis out of libSema
...
and into libAnalysis.
llvm-svn: 96872
2010-02-23 02:39:16 +00:00
Dan Gohman
7e5c4906dd
Revert 96854, 96852, and 96849, unbreaking test/CodeGen/CellSPU/i64ops.ll.
...
llvm-svn: 96871
2010-02-23 02:33:29 +00:00
Chris Lattner
a828850b4d
X86InstrInfoSSE.td declares PINSRW as having type v8i16,
...
don't alis it in the MMX .td file with a different width,
split into two X86ISD opcodes. This fixes an x86 testcase.
llvm-svn: 96859
2010-02-23 02:07:48 +00:00
Johnny Chen
21dbd6f449
Added versions of VCGE, VCGT, VCLE, and VCLT NEON instructions which compare to
...
(immediate #0 ) for disassembly only.
A8.6.283, A8.6.285, A8.6.287, A8.6.290
llvm-svn: 96856
2010-02-23 01:42:58 +00:00
Ted Kremenek
e10ba52be9
Convert use of std::queue to llvm::SmallVector and fix buildbot.
...
llvm-svn: 96855
2010-02-23 01:39:04 +00:00
Chris Lattner
22bc26e4cf
fix hte last cellspu failure.
...
llvm-svn: 96854
2010-02-23 01:37:39 +00:00
Anders Carlsson
075056a8f9
Move BaseOffset out of the FinalOverriders class.
...
llvm-svn: 96853
2010-02-23 01:34:28 +00:00
Chris Lattner
807666783c
hack around more crimes in instruction selection.
...
llvm-svn: 96852
2010-02-23 01:33:17 +00:00
Dan Gohman
e7f6feb469
Convert this test to FileCheck and add a testcase for PR3574.
...
llvm-svn: 96851
2010-02-23 01:28:09 +00:00
Fariborz Jahanian
afe1386ed9
More support for ivars in class extension.
...
llvm-svn: 96850
2010-02-23 01:26:30 +00:00
Chris Lattner
fbbe2617dc
the cell backend is making all sorts of unsafe and incorrect assumptions
...
about ownership and update policies. It isn't clear why it is doing all
this lowering at isel time instead of in legalize. This fixes fcmp64.ll
llvm-svn: 96849
2010-02-23 01:20:00 +00:00
Ted Kremenek
ca4be0c10e
Use SmallVectorImpl::iterator.
...
llvm-svn: 96848
2010-02-23 01:19:17 +00:00
Ted Kremenek
bab459eaf4
Simplify logic for determining values of 'ReturnsVoid' and 'HasNoReturn' flags.
...
No functionality change.
llvm-svn: 96847
2010-02-23 01:19:11 +00:00
Zhongxing Xu
5586096a5a
Correct comment.
...
llvm-svn: 96846
2010-02-23 01:17:41 +00:00
Chris Lattner
addbb0290c
really fix an off-by-one error
...
llvm-svn: 96845
2010-02-23 01:07:39 +00:00
Chris Lattner
9b5e22764f
fix an off-by-one error.
...
llvm-svn: 96844
2010-02-23 01:07:09 +00:00
Chris Lattner
a7d0e304e9
switch the value# in OPC_CompleteMatch and OPC_EmitNode to use a
...
VBR encoding for the insanity being perpetrated by the spu backend.
llvm-svn: 96843
2010-02-23 00:59:59 +00:00
John McCall
f8ff7b9fd1
Perform two more constructor/destructor code-size optimizations:
...
1) emit base destructors as aliases to their unique base class destructors
under some careful conditions. This is enabled for the same targets that can
support complete-to-base aliases, i.e. not darwin.
2) Emit non-variadic complete constructors for classes with no virtual bases
as calls to the base constructor. This is enabled on all targets and in
theory can trigger in situations that the alias optimization can't (mostly
involving virtual bases, mostly not yet supported).
These are bundled together because I didn't think it worthwhile to split them,
not because they really need to be.
llvm-svn: 96842
2010-02-23 00:48:20 +00:00
Johnny Chen
886915e3bb
Added VCEQ (immediate #0 ) NEON instruction for disassembly only.
...
A8.6.281
llvm-svn: 96838
2010-02-23 00:33:12 +00:00
Jakob Stoklund Olesen
012d4369f6
Dead code elimination
...
llvm-svn: 96837
2010-02-23 00:28:53 +00:00
Douglas Gregor
46841e1bd9
Implement crazy destructor name lookup semantics differently in
...
C++98/03 and C++0x, since the '0x semantics break valid C++98/03
code. This new mess is tracked by core issue 399, which is still
unresolved.
Fixes PR6358 and PR6359.
llvm-svn: 96836
2010-02-23 00:15:22 +00:00
Jeffrey Yasskin
cc2e3d22df
Fix viewCFG on Linux.
...
llvm-svn: 96834
2010-02-23 00:04:53 +00:00
Chris Lattner
60680ad316
add a new Push2 opcode for targets (like cellspu) which have
...
ridiculously ginormous patterns and need more than one byte
of displacement for encodings. This fixes CellSPU/fdiv.ll.
SPU is still doing something else ridiculous though.
llvm-svn: 96833
2010-02-22 23:55:39 +00:00
Evan Cheng
2a33390e2b
These should not have been committed.
...
llvm-svn: 96827
2010-02-22 23:37:48 +00:00
Chris Lattner
72334622d6
no need to run llvm-as here.
...
llvm-svn: 96826
2010-02-22 23:34:12 +00:00
Evan Cheng
3688b8fa68
Instcombine constant folding can normalize gep with negative index to index with large offset. When instcombine objsize checking transformation sees these geps where the offset seemingly point out of bound, it should just return "i don't know" rather than asserting.
...
llvm-svn: 96825
2010-02-22 23:34:00 +00:00
Chris Lattner
d0b16bd219
Change ComplexPattern handling to push the node being matched as
...
well as the operands produced when the pattern is matched. This
allows CheckSame to work correctly when matching replicated
names involving ComplexPatterns. This fixes a bunch of MSP430
failures, we're down to 13 failures, two of which are
due to a sched bug.
llvm-svn: 96824
2010-02-22 23:33:44 +00:00
Douglas Gregor
d770f73fac
Rework the CIndex API for displaying diagnostics. Instead of printing
...
the diagnostics to a FILE*, return a CXString containing the formatted
diagnostic.
llvm-svn: 96823
2010-02-22 23:17:23 +00:00
Jim Grosbach
45fceea0e4
Updated version of r96634 (which was reverted due to failing 176.gcc and
...
126.gcc nightly tests. These failures uncovered latent bugs that machine DCE
could remove one half of a stack adjust down/up pair, causing PEI to assert.
This update fixes that, and the tests now pass.
llvm-svn: 96822
2010-02-22 23:10:38 +00:00
Dan Gohman
d8abbf0af6
Add a test for canonicalizing ConstantExpr operands.
...
llvm-svn: 96820
2010-02-22 23:07:52 +00:00
Fariborz Jahanian
4c172c63e5
Early support for declaring ivars in class extensions. wip.
...
llvm-svn: 96819
2010-02-22 23:04:20 +00:00
Jim Grosbach
017a505716
Clean up a bit and fix for when SPAdj != 0
...
llvm-svn: 96818
2010-02-22 22:54:55 +00:00
Jim Grosbach
15f6ed348f
The predicate index isn't fixed, so scan for it to make sure we get the proper
...
value.
Thumb2 uses the tADJCALLSTACK* instructions, and doesn't need t2 versions, so
remove the FIXME entry.
llvm-svn: 96817
2010-02-22 22:47:46 +00:00
Dan Gohman
6c5ac6de5c
Canonicalize ConstantInts to the right operand of commutative
...
operators.
The test difference is just due to the multiplication operands
being commuted (and thus requiring a more elaborate match). In
optimized code, that expression would be folded.
llvm-svn: 96816
2010-02-22 22:43:23 +00:00