Stuart Hastings
e0d3426e1a
Followup to 132458, omit unnecessary stack copy when x87 input is a
...
load. rdar://problem/6373334
llvm-svn: 132696
2011-06-06 23:15:58 +00:00
Eli Friedman
2378cacae3
Add -O1/2/3 to bugpoint, so when you conclude opt -O2 reproduces an issue, you can just run bugpoint -O2. :) My implementation isn't precisely equivalent to what opt does, but as far as I can tell, it's close enough.
...
llvm-svn: 132695
2011-06-06 22:45:46 +00:00
Eli Friedman
6b3411b2fd
Second try at fixing this test, this time without breaking 32-bit Darwin builders.
...
llvm-svn: 132694
2011-06-06 22:25:48 +00:00
Eli Friedman
b68fe25e3e
We only do always-inlining at -O1; make opt reflect that.
...
llvm-svn: 132693
2011-06-06 22:13:27 +00:00
Johnny Chen
f5fe34ff9c
Remove extra whitespace.
...
llvm-svn: 132692
2011-06-06 21:36:56 +00:00
Eli Friedman
9ed3cde1fa
Start fixing up clang tests to work on the clang-native-arm-cortex-a9 builder.
...
llvm-svn: 132691
2011-06-06 21:23:05 +00:00
Jakob Stoklund Olesen
0cde8eb9e2
Get allocation orders from RegisterClassInfo when possible.
...
Only target-dependent hints require callbacks. The RCI allocation order
has CSR aliases last according to their order of appearance in the
getCalleeSavedRegs list. This can depend on the calling convention.
This way, AllocationOrder::next doesn't have to check for reserved
registers, and CSRs are always allocated last, even with weird calling
conventions.
llvm-svn: 132690
2011-06-06 21:02:04 +00:00
Nadav Rotem
c807fa5687
Add methods to support the integer-promotion of vector types. Methods to
...
legalize SDNodes such as BUILD_VECTOR, EXTRACT_VECTOR_ELT, etc.
llvm-svn: 132689
2011-06-06 20:55:56 +00:00
Alexis Hunt
6fad3b9314
Don't put a note in the DiagGroup
...
llvm-svn: 132687
2011-06-06 20:30:15 +00:00
Nick Lewycky
40b4e80ce8
This directory was missing the dg.exp to cause the tests to run. Some time since
...
it was added, the test has regressed, so XFAIL it.
llvm-svn: 132686
2011-06-06 20:23:00 +00:00
Stuart Hastings
2f7f64f9e1
Test case for PR10085.
...
llvm-svn: 132682
2011-06-06 20:03:22 +00:00
Stuart Hastings
bee6fcc5aa
Avoid FGETSIGN of 80-bit types. Fixes PR10085.
...
llvm-svn: 132681
2011-06-06 16:44:31 +00:00
Jakob Stoklund Olesen
b7657d0225
Don't try to be clever, just preserve the target's allocation order.
...
The order of registers returned by getCalleeSavedRegs is used to lay out
the fixed stack slots for CSRs. Some targets like their CSRs used from
one end, and some targets want them used from the other end.
When computing an allocation order, simply preserve the relative
ordering of CSRs that the target specifies in its allocation order.
Reordering CSRs would break some targets, ARM in particular.
We still place volatiles before the CSRs, providing slightly better
results with different calling conventions.
llvm-svn: 132680
2011-06-06 16:36:30 +00:00
Jonathan D. Turner
780a6bf05b
Touchup to comments that weren't quite in sync with code
...
llvm-svn: 132679
2011-06-06 16:22:39 +00:00
Tobias Grosser
7e01c25f45
www: Add website for the LLVM bugtracker use
...
llvm-svn: 132678
2011-06-06 15:50:09 +00:00
Douglas Gregor
522d5eb7c3
Diagnose the condition in C++ [temp.expl.spec]p16 that prohibits
...
specializing a member of an unspecialized template, and recover from
such errors without crashing. Fixes PR10024 / <rdar://problem/9509761>.
llvm-svn: 132677
2011-06-06 15:22:55 +00:00
Eli Friedman
bd375f1a3f
PR10077: fix fast-isel of extractvalue of aggregate constants.
...
llvm-svn: 132676
2011-06-06 05:46:34 +00:00
Francois Pichet
7df6805d76
ok now, let's fix that MSVC warning for real.
...
llvm-svn: 132675
2011-06-06 02:57:59 +00:00
Francois Pichet
a5276ec598
Fix MSVC warning:
...
"unsafe mix of type 'int' and type 'bool' in operation"
llvm-svn: 132674
2011-06-06 02:42:06 +00:00
Chandler Carruth
d50f169098
Richard Smith was correct about how the sets should be computed for
...
this. My suggestion assumed a viable erase method for iterators on
SmallPtrSet.
This patch restores his original pattern.
llvm-svn: 132673
2011-06-05 23:36:55 +00:00
Richard Smith
998a591e32
Fix PR10053: Improve diagnostics and error recovery for code which some compilers incorrectly accept due to a lack of proper support for two-phase name lookup.
...
llvm-svn: 132672
2011-06-05 22:42:48 +00:00
Benjamin Kramer
59652d36a5
Harden tests for windows path separators.
...
llvm-svn: 132671
2011-06-05 18:20:05 +00:00
Benjamin Kramer
f90b5de834
Toolchain support for Ubuntu Oneiric. Patch by Michael Wild!
...
llvm-svn: 132669
2011-06-05 16:08:59 +00:00
Benjamin Kramer
440c3b7306
Use path API for path concatenation.
...
llvm-svn: 132668
2011-06-05 14:36:47 +00:00
Sebastian Redl
d201edf1fc
Drop most of InitializationSequence::SequenceKind's values. They didn't really contain any information that the step array didn't contain too. This makes debugging dumps a bit less informative, but probably not significantly so. The advantage is that the redundancy is gone, so the code is easier to understand.
...
ReferenceBinding is still there, because it is used in some unclear code.
llvm-svn: 132667
2011-06-05 13:59:11 +00:00
Sebastian Redl
724bfe18b7
Remove more references to FailedSequence.
...
llvm-svn: 132666
2011-06-05 13:59:05 +00:00
Howard Hinnant
32208bde75
Move nullptr_t to unversioned namespace: Sean Hunt
...
llvm-svn: 132665
2011-06-05 13:00:46 +00:00
Sebastian Redl
c7ca587512
Remove all references to InitializationSequence::FailedSequence from outside SemaInit.cpp. Replace them with the boolean conversion or the new Failed() function. This is a first step towards removing InitializationSequence::SequenceKind. No functionality change.
...
llvm-svn: 132664
2011-06-05 12:23:28 +00:00
Sebastian Redl
f08872fb29
More std::initializer_list tests.
...
llvm-svn: 132663
2011-06-05 12:23:21 +00:00
Sebastian Redl
3da3489e49
Parse C++0x generalized initializers.
...
llvm-svn: 132662
2011-06-05 12:23:16 +00:00
Sebastian Redl
144857f4cc
Expand on braced init list tests.
...
llvm-svn: 132661
2011-06-05 12:23:08 +00:00
Douglas Gregor
377c109f21
Identity and non-identity standard conversion sequences can be
...
compared even when one is a reference binding and the other is not
(<rdar://problem/9173984>), but the definition of an identity sequence
does not involve lvalue-to-rvalue adjustments (PR9507). Fix both
inter-related issues.
llvm-svn: 132660
2011-06-05 06:15:20 +00:00
Douglas Gregor
c507db4f70
Add name mangling for expr .* expr. Fixes PR9983 / <rdar://problem/9486332>.
...
llvm-svn: 132659
2011-06-05 05:27:58 +00:00
Douglas Gregor
7f139d8103
Allow block returns in C++ with the form
...
return <expression> ;
in blocks with a 'void' result type, so long as <expression> has type
'void'. This follows the rules for C++ functions.
llvm-svn: 132658
2011-06-05 05:14:41 +00:00
Douglas Gregor
0aa91e0a66
When inferring the result type of a block based on a return statement
...
with a type-dependent expression, infer the placeholder type
'Context.DependentTy' to indicate that this is just a
placeholder. Fixes PR9982 / <rdar://problem/9486685>.
llvm-svn: 132657
2011-06-05 05:04:23 +00:00
Rafael Espindola
1134ab23df
Basic support for macros with explicit arguments.
...
We still don't handle
* default values
* :req
* :vararg
* \()
llvm-svn: 132656
2011-06-05 02:43:45 +00:00
Rafael Espindola
940a0ee5ca
Produce an undefined reference to _GLOBAL_OFFSET_TABLE_ if we have a
...
VK_GOTOFF reloc. This matches as' behavior, but it is not clear why the linker
might need this, so I added a FIXME.
I could test this by duplicating test/MC/ELF/got.s, but it doesn't look
worthwhile.
llvm-svn: 132655
2011-06-05 01:20:06 +00:00
Jakob Stoklund Olesen
38080e8700
Fix a test that keeps breaking when allocation orders change.
...
Who said FileCheck couldn't handle arbitrarily complex conditions?
llvm-svn: 132654
2011-06-04 23:34:40 +00:00
Rafael Espindola
d1ca71a294
Fix cmake build.
...
llvm-svn: 132653
2011-06-04 23:22:38 +00:00
Howard Hinnant
bd0c160078
noexcept for <stack>. This completes noexcept for Chapter 23 [containers].
...
llvm-svn: 132652
2011-06-04 22:09:19 +00:00
Richard Smith
c2ed270c0f
Remove the old implementation of -verify, which has been dead code since r88750.
...
llvm-svn: 132651
2011-06-04 21:35:57 +00:00
Howard Hinnant
6971d82668
noexcept for <queue>.
...
llvm-svn: 132650
2011-06-04 21:32:33 +00:00
Nadav Rotem
06bd6d304e
TypeLegalizer: Add support for passing of vector-promoted types in registers (copyFromParts/copyToParts).
...
llvm-svn: 132649
2011-06-04 20:58:08 +00:00
Nadav Rotem
78d19bebe6
TypeLegalizer: Fix a bug in the promotion of elements of integer vectors.
...
(only happens when using the -promote-elements option).
The correct legalization order is to first try to promote element. Next, we try
to widen vectors.
llvm-svn: 132648
2011-06-04 20:32:01 +00:00
Howard Hinnant
557da866a3
noexcept for <unordered_set>.
...
llvm-svn: 132647
2011-06-04 20:18:37 +00:00
Howard Hinnant
3714107ed6
noexcept for <unordered_map>.
...
llvm-svn: 132646
2011-06-04 18:54:24 +00:00
Nick Lewycky
2176cdc98c
Refactor parsing of variable names (ie., %foo and @foo) since they have the same
...
rules. Also refactor "read string until quote" into its own function. No
functionality change!
llvm-svn: 132645
2011-06-04 18:16:26 +00:00
Nick Lewycky
6fde150697
Add more tests for cxa_guard methods. This includes our first two tests using
...
actual threads!
There's no build file for libcxxabi, so I'll tell you that I built it with this:
$ g++-4.6 -pthread -std=gnu++0x test_guard.cpp ../src/cxa_guard.o -o test_guard
llvm-svn: 132644
2011-06-04 18:01:24 +00:00
Nick Lewycky
34fa1684e7
Add support for @GOTPTOFF in i386 mode.
...
llvm-svn: 132643
2011-06-04 17:38:07 +00:00
Howard Hinnant
e691351098
Made more implementation details of [multi]map/set noexcept.
...
llvm-svn: 132642
2011-06-04 17:10:24 +00:00