Chris Lattner
d8045649a6
fix some more ambiguous patterns, remove another nontemporalstore
...
pattern which is broken (source and address swapped).
llvm-svn: 97958
2010-03-08 18:57:56 +00:00
Chris Lattner
a6d842fac0
Correct immediate sizes.
...
llvm-svn: 97957
2010-03-08 18:55:15 +00:00
Chris Lattner
6742f1f338
fix a type compatibility bug. imm is i32 in the input
...
pattern, not i64.
llvm-svn: 97956
2010-03-08 18:52:55 +00:00
Chris Lattner
b8a7427636
fix a bunch of partially ambiguous patterns on ARM. As an
...
example, this:
(set DPR:$dst, (fsub (fneg (fmul DPR:$a, DPR:$b)), DPR:$dstin))
is ambiguous because DPR contains both f64 and v2f32. tblgen
currently accidentally picks f64 because it's first in the
regclass.
llvm-svn: 97955
2010-03-08 18:51:21 +00:00
Douglas Gregor
8a16769b61
Improve XML output for C++ classes, from Olaf Krzikalla!
...
llvm-svn: 97954
2010-03-08 18:51:03 +00:00
Chris Lattner
dac58bd094
Fix a bunch of ambiguous patterns which tblgen happens to infer types
...
for, due to a bug.
llvm-svn: 97953
2010-03-08 18:44:04 +00:00
Chris Lattner
e96802e6ed
Node arguments to type casts can have names too. This code
...
needs to be majorly refactored, but this spot bugfix allows
things like:
def vmrghw_shuffle : PatFrag<(ops node:$lhs, node:$rhs),
(vector_shuffle (v4i32 node:$lhs), node:$rhs), [{
...
llvm-svn: 97952
2010-03-08 18:36:19 +00:00
Kovarththanan Rajaratnam
4bc61181f9
Mark variable as const
...
llvm-svn: 97951
2010-03-08 18:33:04 +00:00
Chris Lattner
2b7ecfbe40
tidy up
...
llvm-svn: 97950
2010-03-08 18:29:38 +00:00
Devang Patel
4ce8ebb087
Avoid DIDescriptor.isNull() checks.
...
llvm-svn: 97949
2010-03-08 18:26:57 +00:00
Devang Patel
fe28599f6f
Avoid using DIDescriptor.isNull().
...
This is a first step towards eliminating unncessary constructor checks in light weight DIDescriptor wrappers.
llvm-svn: 97947
2010-03-08 18:25:48 +00:00
Douglas Gregor
de4827dd34
Extend ObjCMessageExpr for class method sends with the source location
...
of the class name.
llvm-svn: 97943
2010-03-08 16:40:19 +00:00
Douglas Gregor
12852d9521
Keep track of type source information in the return type of an
...
Objective-C method declaration, e.g., for
- (Foo *)myMethod;
we now have TypeSourceInfo for the Foo*.
llvm-svn: 97942
2010-03-08 14:59:44 +00:00
Duncan Sands
7a9ba76825
Remove unused headers.
...
llvm-svn: 97941
2010-03-08 11:29:03 +00:00
Dale Johannesen
30488c636d
Add Order to SDDbgValue
...
llvm-svn: 97939
2010-03-08 05:39:50 +00:00
Dale Johannesen
0eebdbb325
Fix dbg value handling in tail merging.
...
llvm-svn: 97938
2010-03-08 05:38:13 +00:00
Chris Lattner
ca8d590c28
remove a non-temporal store pattern which is not tested and
...
could never have matched because the operand list was backwards.
llvm-svn: 97933
2010-03-08 03:18:28 +00:00
Douglas Gregor
9abb538be0
Revert r97917, which was causing Clang Debug self-host failures.
...
llvm-svn: 97932
2010-03-08 02:58:37 +00:00
Douglas Gregor
b1489c67f0
Remove redundant semicolon
...
llvm-svn: 97930
2010-03-08 02:49:35 +00:00
Douglas Gregor
0aad774232
Make a note for the C++0x future, when we'll have to revisit the jump-diagnostics handling for variables without initializers
...
llvm-svn: 97929
2010-03-08 02:49:08 +00:00
Douglas Gregor
589973b097
In C++98/03, an uninitialized variable that has POD class type will be
...
uninitialized. This seems not to be the case in C++0x, where we still
call the (trivial) default constructor for a POD class
(!). Previously, we had implemented only the C++0x rules; now we
implement both. Fixes PR6536.
llvm-svn: 97928
2010-03-08 02:45:10 +00:00
Douglas Gregor
104ee00181
Downgrade errors when trying to catch a pointer or reference to
...
incomplete type to warnings; GCC (and EDG in GCC compatibility mode)
permit such handles. Fixes PR6527.
(For real this time)
llvm-svn: 97927
2010-03-08 01:47:36 +00:00
Chandler Carruth
3681e58d8b
Revert r97925, it only contained the test updates not the actual fix.
...
llvm-svn: 97926
2010-03-08 00:41:19 +00:00
Douglas Gregor
254bba4095
Downgrade errors when trying to catch a pointer or reference to
...
incomplete type to warnings; GCC (and EDG in GCC compatibility mode)
permit such handles. Fixes PR6527.
llvm-svn: 97925
2010-03-07 23:28:27 +00:00
Douglas Gregor
281c486e1b
Robustify callers that rebuild typename type nodes again NULL return
...
types. Fixes PR6463.
llvm-svn: 97924
2010-03-07 23:26:22 +00:00
Douglas Gregor
c934bc840c
Perform overload resolution when static_cast'ing from a
...
pointer-to-member-to-derived to a pointer-to-member-to-base. Fixes
PR6072.
llvm-svn: 97923
2010-03-07 23:24:59 +00:00
Douglas Gregor
1ce52caf0d
Reference binding via user-defined conversion can compute a binding
...
that is not reference-related (because it requires another implicit
conversion to which we can find). Fixes PR6483.
llvm-svn: 97922
2010-03-07 23:17:44 +00:00
Jeffrey Yasskin
5cdbd7064c
Roll back r97918 again. Just configuring against llvm-gcc wasn't enough to run
...
the FrontendC* tests. :(
llvm-svn: 97921
2010-03-07 19:26:40 +00:00
Kovarththanan Rajaratnam
39f2fbd129
Undefine correct macro
...
llvm-svn: 97920
2010-03-07 19:10:13 +00:00
Chris Lattner
0a65574ccb
implement support for -Wno-deprecated, PR6534. While
...
I'm in there, change the altivec diagnostics to use 'double'
instead of "double" for consistency.
llvm-svn: 97919
2010-03-07 18:50:21 +00:00
Jeffrey Yasskin
aba6ea8254
Reapply r97788 to free MDNodes when the LLVMContext is destroyed. It
...
bootstraps llvm-gcc this time.
llvm-svn: 97918
2010-03-07 18:46:57 +00:00
Jeffrey Yasskin
37a0372fc4
Roll r97906 forward again, without double-deleting CompileUnit::IndexTyDie.
...
llvm-svn: 97917
2010-03-07 17:10:13 +00:00
Kovarththanan Rajaratnam
7a67f67823
Don't rely on implicit conversion
...
llvm-svn: 97916
2010-03-07 11:21:46 +00:00
Tobias Grosser
62892a8680
Add findNearestCommonDominator() for PostDominators.
...
Add a missing interface to be able to call findNearestCommonDominator
for a PostDominanceTree. The function itself is already implemented in
DominatorTreeBase. The interface however was only added to the
DominatorTree class, but not the PostDominatorClass.
llvm-svn: 97915
2010-03-07 11:15:04 +00:00
Chris Lattner
28dc6c12c3
Use Other as a sentinel instead of iAny.
...
llvm-svn: 97914
2010-03-07 07:45:08 +00:00
Kovarththanan Rajaratnam
752a124aeb
Rename to addPPCallbacks since we're effectively adding a callback and maybe chaining it to an existing one
...
llvm-svn: 97913
2010-03-07 07:30:06 +00:00
Chris Lattner
c95d58d31a
turn off debug spew
...
llvm-svn: 97912
2010-03-07 07:21:24 +00:00
Chris Lattner
a160389290
more factoring.
...
llvm-svn: 97911
2010-03-07 07:20:49 +00:00
Kovarththanan Rajaratnam
981a6a110e
Don't assert if PP already contains a valid PP callback. The PP can handle multiple callbacks (using PPChainedCallbacks)
...
llvm-svn: 97910
2010-03-07 07:18:58 +00:00
Jeffrey Yasskin
7068bdba50
_2_ gcc crashes, ah, ah, ah...
...
(Rolling back r97906.)
llvm-svn: 97909
2010-03-07 07:16:49 +00:00
Chris Lattner
b9071a2d5d
teach tblgen to be more aggressive when factoring CheckType nodes.
...
Now it will factor things like this:
CheckType i32
...
CheckOpcode ISD::AND
CheckType i64
...
into:
SwitchType:
i32: ...
i64:
CheckOpcode ISD::AND
...
This shrinks hte table by a few bytes, nothing spectacular.
llvm-svn: 97908
2010-03-07 07:01:28 +00:00
Eric Christopher
4c70358296
Add sse4.1 packed min and max intrinsics.
...
llvm-svn: 97907
2010-03-07 07:00:42 +00:00
Jeffrey Yasskin
413721b050
Avoid leaking CompileUnits and DbgScopes from DwarfDebug. Leaks found by Valgrind!
...
llvm-svn: 97906
2010-03-07 06:55:35 +00:00
Chris Lattner
9c791d872a
add some helper functions and implement isContradictory
...
for CheckValueTypeMatcher. The isContradictory implementation
helps us factor better, shrinking x86 table from 79144 -> 78896
bytes.
llvm-svn: 97905
2010-03-07 06:29:26 +00:00
Eric Christopher
7288890b51
Add load hint instruction intrinsic.
...
llvm-svn: 97904
2010-03-07 06:29:09 +00:00
Eric Christopher
8fffe75eaa
Add in movntdqa intrinsic for load hint.
...
llvm-svn: 97903
2010-03-07 06:28:34 +00:00
Eric Christopher
87990fe5df
Add in support for dword multiply and fp dot product intrinsics.
...
llvm-svn: 97902
2010-03-07 06:17:19 +00:00
Eric Christopher
1d99699bda
Add in dot product intrinsics for dpps and dppd.
...
llvm-svn: 97901
2010-03-07 06:16:56 +00:00
Eli Friedman
b632e30e41
Fix for PR6294: we should only delay recording nested dynamic classes if they
...
are lexically nested. Othewise, we never end up recording semantically nested
classes.
llvm-svn: 97900
2010-03-07 05:49:51 +00:00
Douglas Gregor
577cf97cf3
Don't turn off mangling in implicitly extern "C" system headers. GCC
...
doesn't do this on any of the major platforms, and we don't really
support any of the platforms that do (nor will we actually handle
those headers well). Fixes PR6217; see PR6530 for details on what we
would need to do to support these platforms.
llvm-svn: 97899
2010-03-07 05:10:40 +00:00