| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
not be guaranteed.
llvm-svn: 96782
|
| |
|
|
|
|
|
| |
still failing during (one) llvm-gcc powerpc build, and is also failing on my
x86_64-apple-darwin10.
llvm-svn: 96781
|
| |
|
|
| |
llvm-svn: 96780
|
| |
|
|
| |
llvm-svn: 96779
|
| |
|
|
| |
llvm-svn: 96778
|
| |
|
|
| |
llvm-svn: 96777
|
| |
|
|
| |
llvm-svn: 96776
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 96773
|
| |
|
|
| |
llvm-svn: 96772
|
| |
|
|
| |
llvm-svn: 96771
|
| |
|
|
|
|
| |
CodeGen/X86/pr2182.ll. Down to 13 x86 failures out of ~1100
llvm-svn: 96770
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
fixing up a few callers that thought they were propagating NoReturn
information but were in fact saying something about exception
specifications.
llvm-svn: 96766
|
| |
|
|
| |
llvm-svn: 96765
|
| |
|
|
| |
llvm-svn: 96764
|
| |
|
|
| |
llvm-svn: 96763
|
| |
|
|
| |
llvm-svn: 96762
|
| |
|
|
| |
llvm-svn: 96761
|
| |
|
|
| |
llvm-svn: 96760
|
| |
|
|
| |
llvm-svn: 96759
|
| |
|
|
| |
llvm-svn: 96758
|
| |
|
|
|
|
|
| |
DAGISelEmitter does. This fixes 11 arm failures (8
left).
llvm-svn: 96757
|
| |
|
|
| |
llvm-svn: 96756
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
MVT::iPTR.
llvm-svn: 96753
|
| |
|
|
| |
llvm-svn: 96752
|
| |
|
|
|
|
| |
utility. Down to 6 ppc failures.
llvm-svn: 96751
|
| |
|
|
|
|
|
|
| |
<4 x i32> with <4 x float> values if they end up the same
register class. This gets us up to 231 passes on the ppc
tests (only 7 fails).
llvm-svn: 96750
|
| |
|
|
|
|
| |
syntax.
llvm-svn: 96748
|
| |
|
|
|
|
| |
least cost matches. This gets us from 195 -> 208 passes on the ppc codegen tests.
llvm-svn: 96747
|
| |
|
|
|
|
|
|
| |
std::ostream
and another taking a raw_ostream, but otherwise identical. Use raw_ostream everywhere.
llvm-svn: 96746
|
| |
|
|
| |
llvm-svn: 96745
|
| |
|
|
|
|
| |
This changes the stack overflow in PR6363 to an assertion failure.
llvm-svn: 96744
|
| |
|
|
|
|
|
|
|
|
|
|
| |
nested-name-specifier, e.g.,
typedef int Int;
int *p;
p->Int::~Int();
This weakens the invariant that the only types in nested-name-specifiers are tag types (restricted to class types in C++98/03). However, we weaken this invariant as little as possible, accepting arbitrary types in nested-name-specifiers only when we're in a member access expression that looks like a pseudo-destructor expression.
llvm-svn: 96743
|
| |
|
|
|
|
| |
type (per C++ [class.copy]p3). Make sure that includes copies that involve a derived-to-base conversion. Fixes PR6141.
llvm-svn: 96742
|
| |
|
|
|
|
| |
destructors, and conversions. Unfortunately, this cannot be tested yet, since we don't have C++ PCH support.
llvm-svn: 96741
|
| |
|
|
| |
llvm-svn: 96740
|
| |
|
|
|
|
| |
into a single function, ImportDeclContext. Use it rather than explicit loops. No functionality change.
llvm-svn: 96739
|
| |
|
|
| |
llvm-svn: 96738
|
| |
|
|
|
|
| |
This fixes PR6348
llvm-svn: 96734
|
| |
|
|
|
|
|
| |
figure out how not to break lots of code using this. See PR6358 and PR6359 for
motivating examples. FIXME's left in the code and the test.
llvm-svn: 96733
|
| |
|
|
|
|
|
| |
sync with the top of stack. This fixes a bunch of failures on larger
testcases.
llvm-svn: 96732
|
| |
|
|
| |
llvm-svn: 96731
|
| |
|
|
| |
llvm-svn: 96730
|