Zhongxing Xu
23030c9004
Replace code with a method call. No functionality change.
...
llvm-svn: 101876
2010-04-20 05:40:40 +00:00
Chris Lattner
38c1a1a247
teach cellspu how to return i8 and i16 from calls,
...
patch by Kalle Raiskila!
llvm-svn: 101875
2010-04-20 05:36:09 +00:00
Chris Lattner
66e809acc0
remove a bunch of ad-hoc code to simplify instructions from
...
loop unswitch, and use inst simplify instead. It is more
powerful and less duplication.
llvm-svn: 101874
2010-04-20 05:33:18 +00:00
Chris Lattner
c707fa9651
move some select simplifications out out instcombine into
...
inst simplify. No functionality change.
llvm-svn: 101873
2010-04-20 05:32:14 +00:00
Anders Carlsson
652758c3ec
Pass the nearest virtual base decl to InitializeVTablePointers. No functionality change right now.
...
llvm-svn: 101872
2010-04-20 05:22:15 +00:00
Chris Lattner
b596ac718e
reapply john's patch, he broke mainline again by changing the test.
...
llvm-svn: 101871
2010-04-20 05:19:10 +00:00
Chris Lattner
5814d9d9da
RewriteLoopBodyWithConditionConstant can end up rewriting the
...
condition we're unswitching on. In this case, don't try to
simplify the second copy of the loop which may be dead or not,
but is probably a constant now. This fixes PR6879
llvm-svn: 101870
2010-04-20 05:09:16 +00:00
Anders Carlsson
3d4218570a
Assert that the path from the derived to the base class in CodeGenFunction::GetAddressOfBaseClass is not ambiguous.
...
llvm-svn: 101869
2010-04-20 05:07:22 +00:00
John Thompson
359675d036
Altivec vector literal initializer count mismatch error removed.
...
llvm-svn: 101868
2010-04-20 05:01:46 +00:00
Zhongxing Xu
4d4b8d833e
Use GetState() to get the possible cleaned state.
...
llvm-svn: 101867
2010-04-20 04:53:09 +00:00
Chris Lattner
c239eb79bd
reapply 'reject forward references to functions whose type don't match'
...
now that the testsuite has been updated.
llvm-svn: 101866
2010-04-20 04:49:11 +00:00
Chris Lattner
03499d36b5
grr, lit only hates me, not the rest of the world.
...
llvm-svn: 101865
2010-04-20 04:33:06 +00:00
Chris Lattner
3da9a2a3a9
revert r101863, whcih is causing Sema/altivec-init.c to fail on a ton
...
of buildbots with:
error: 'error' diagnostics expected but not seen:
Line 9: too few elements in vector initialization (expected 8 elements, have 2)
1 warning and 1 error generated.
llvm-svn: 101864
2010-04-20 04:31:55 +00:00
John Thompson
f351b2c2b4
Altivec vector literal initializer count mismatch error removed.
...
llvm-svn: 101863
2010-04-20 03:58:33 +00:00
Zhongxing Xu
40eb21a827
Improve handling of CXXNewExpr.
...
llvm-svn: 101862
2010-04-20 03:37:34 +00:00
John McCall
0f55a035cf
Restore r101841 without modification. Also mark 'operator delete' as used for
...
actual delete expressions, not just new expressions.
llvm-svn: 101861
2010-04-20 02:18:25 +00:00
Dan Gohman
0c862a86fa
Delete a redundant return statement.
...
llvm-svn: 101860
2010-04-20 01:58:20 +00:00
John McCall
44adf26dd0
Revert r101841 and follow-up.
...
llvm-svn: 101859
2010-04-20 01:42:53 +00:00
Chris Lattner
b6410e168c
add __builtin_[r]index. Perhaps all LIBBUILTIN's should get
...
these or something?
llvm-svn: 101858
2010-04-20 01:31:15 +00:00
John McCall
21f8d1d643
Use __SIZE_TYPE__ as suggested by dgregor.
...
llvm-svn: 101857
2010-04-20 01:26:56 +00:00
Bill Wendling
467e6c2deb
The visitXOR method can return the same SDNode. If so, we don't want to delete
...
it as it's not dead.
llvm-svn: 101855
2010-04-20 01:25:01 +00:00
Chris Lattner
4025306a91
disable optimizations in this directory for MSVC9. This avoids
...
an optimizer infinite loop on the file, PR6866.
llvm-svn: 101854
2010-04-20 01:11:32 +00:00
Johnny Chen
2161e9f03b
Better error-handling for DisassembleThumb2DPModImm() with 2-reg operands where
...
d==15 is considered illegal. Return false instead of assert().
llvm-svn: 101852
2010-04-20 01:01:57 +00:00
Eric Christopher
64831c6a4c
Remove the palignr intrinsics now that we lower them to vector shuffles,
...
shifts and null vectors. Autoupgrade these to what we'd lower them to.
Add a testcase to exercise this.
llvm-svn: 101851
2010-04-20 00:59:54 +00:00
Dan Gohman
eadc04badc
Remove this debug output; it isn't that useful, and it's incomplete
...
in the case where a basic block is split.
llvm-svn: 101850
2010-04-20 00:56:44 +00:00
Dan Gohman
e450d7444d
Sink DebugLoc handling out of SelectionDAGISel into FastISel and
...
SelectionDAGBuilder, where it doesn't have to be as complicated.
llvm-svn: 101848
2010-04-20 00:48:35 +00:00
Chris Lattner
aedb8a3535
make CallGraphNode dtor abort if a node is deleted when there are still
...
references to it.
llvm-svn: 101847
2010-04-20 00:47:34 +00:00
Chris Lattner
a5cdd5e6a2
make the inliner do less work for leaf functions.
...
llvm-svn: 101846
2010-04-20 00:47:08 +00:00
Chris Lattner
e93846762a
Fix rdar://7879828 - crash in CallGraph, a self host issue.
...
Arg promotion was deleting call graph nodes that still had references
from the 'indirect' CGN. Like the inliner, it should only delete the
function if all references are gone.
llvm-svn: 101845
2010-04-20 00:46:50 +00:00
Dan Gohman
3df671a81c
Remove MachineFunction's DefaultDebugLoc member, and make DwarfDebug.cpp
...
responsible for figuring out what that's supposed to be on its own.
llvm-svn: 101844
2010-04-20 00:37:27 +00:00
Dan Gohman
ca35aa1122
Reapply the removal of SelectionDAGISel's BB, with a fix for the case
...
where multiple blocks are emitted; functions which do this need to return
the new BB so that their callers can stay current.
llvm-svn: 101843
2010-04-20 00:29:35 +00:00
John McCall
75b4746e7d
Don't bother looking for (or diagnosing problems with) the 'operator delete'
...
associated with a new expression if -fno-exceptions is set.
llvm-svn: 101841
2010-04-20 00:22:43 +00:00
Bob Wilson
92a4685dd2
Fix tests for Neon load/store intrinsics to match the i8* types expected by
...
the intrinsics. The reason for those i8* types is that the intrinsics are
overloaded on the vector type and we don't have a way to declare an intrinsic
where one argument is an overloaded vector type and another argument is a
pointer to the vector element type. The bitcasts added here will match what
the frontend will typically generate when these intrinsics are used.
llvm-svn: 101840
2010-04-20 00:17:16 +00:00
Johnny Chen
f3dd8b9487
More IT instruction error-handling improvements from fuzzing.
...
llvm-svn: 101839
2010-04-20 00:15:41 +00:00
Douglas Gregor
dc35ef9279
Do not diagnose unused-parameter errors in template instantiations. We
...
will already have done so when the template is declared.
llvm-svn: 101838
2010-04-19 23:56:20 +00:00
Dan Gohman
be2e727a38
Revert 101825, which is causing trouble.
...
llvm-svn: 101832
2010-04-19 23:34:15 +00:00
Dan Gohman
35bc4d46cb
Make BreakAntiDependencies' SUnits argument const, and make the Begin
...
and End arguments by-value rather than by-reference.
llvm-svn: 101830
2010-04-19 23:11:58 +00:00
Johnny Chen
e62b680965
Better error handling of invalid IT mask '0000', instead of just asserting.
...
llvm-svn: 101827
2010-04-19 23:02:58 +00:00
Douglas Gregor
c4df407604
Keep track of the actual storage specifier written on a variable or
...
function declaration, since it may end up being changed (e.g.,
"extern" can become "static" if a prior declaration was static). Patch
by Enea Zaffanella and Paolo Bolzoni.
llvm-svn: 101826
2010-04-19 22:54:31 +00:00
Dan Gohman
8cccc542f6
Eliminate SelectionDAGISel's "current block" member. Just pass it as
...
an argument to things that need it.
llvm-svn: 101825
2010-04-19 22:51:14 +00:00
Dan Gohman
5ccd0b3686
Delete an unnecessary reference to SelectionDAGISel::BB.
...
llvm-svn: 101824
2010-04-19 22:48:45 +00:00
Dan Gohman
7c0303a059
Eliminate the CurMBB member from SelectionDAGBuilder. For places that
...
need it, just pass around the parent block of the current instruction
explicitly.
llvm-svn: 101822
2010-04-19 22:41:47 +00:00
Douglas Gregor
f4cd8f4ece
Only suppress the "extern variable has an initializer" warning when the extern entity being initialized is const.
...
llvm-svn: 101821
2010-04-19 22:34:40 +00:00
Dan Gohman
e637ff5e9a
Remove the Expr member from IVUsers. Instead of remembering the expression,
...
just ask ScalarEvolution for it on demand. This helps IVUsers be more robust
in the case of expressions changing underneath it. This fixes PR6862.
llvm-svn: 101819
2010-04-19 21:48:58 +00:00
Douglas Gregor
c81ca09830
Disable the "'extern' variable has an initializer" warning in C++,
...
since it makes sense there to have const extern variables. Fixes
PR6495.
llvm-svn: 101818
2010-04-19 21:31:25 +00:00
Johnny Chen
777346e749
According to A8.6.16 B (Encoding T3) and A8.3 Conditional execution -- A8.3.1
...
Pseudocode details of conditional, Condition bits '111x' indicate the
instruction is always executed. That is, '1111' is a leagl condition field
value, which is now mapped to ARMCC::AL.
Also add a test case for condition field '1111'.
llvm-svn: 101817
2010-04-19 21:19:52 +00:00
Daniel Dunbar
ccabe48235
AST: Dump ASTRecordLayout objects when they are created with -fdump-record-layouts.
...
llvm-svn: 101815
2010-04-19 20:44:53 +00:00
Daniel Dunbar
2ea5183b59
IRgen: Kill unused function and move the type match assert to after record dumping.
...
llvm-svn: 101814
2010-04-19 20:44:47 +00:00
Chris Lattner
72286d6129
add a PPCallback handler for a skipped #include, patch by
...
Zhanyong Wan!
llvm-svn: 101813
2010-04-19 20:44:31 +00:00
Devang Patel
561fa8490e
Fix typo. add a test case.
...
llvm-svn: 101812
2010-04-19 20:31:39 +00:00