summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Mark the return address stack slot as mutable when moving the return addressArnold Schwaighofer2010-02-222-2/+57
| | | | | | | | | | | | | | | | | 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
* Revert "Simplify code: Succ is guaranteed to be not NULL.", which turns out toDaniel Dunbar2010-02-221-28/+28
| | | | | | not be guaranteed. llvm-svn: 96782
* LLVMC/MultiplePluginPriorities.td: Generally XFAIL this test for now, it isDaniel Dunbar2010-02-221-0/+4
| | | | | | | still failing during (one) llvm-gcc powerpc build, and is also failing on my x86_64-apple-darwin10. llvm-svn: 96781
* Remove unused variables and parameters.Dan Gohman2010-02-224-50/+28
| | | | llvm-svn: 96780
* Fix various doxygen warnings.Dan Gohman2010-02-2210-35/+31
| | | | llvm-svn: 96779
* Fix a typo in a comment.Dan Gohman2010-02-221-1/+1
| | | | llvm-svn: 96778
* Constant-fold certain comparisons with infinity and negative infinity.Dan Gohman2010-02-222-0/+181
| | | | llvm-svn: 96777
* Rename a variable to avoid a -Wshadow warning.Dan Gohman2010-02-221-1/+1
| | | | llvm-svn: 96776
* Remove the logic for reasoning about NaNs from the code that formsDan Gohman2010-02-222-132/+179
| | | | | | | | | | 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
* When emitting an instruction which depends on both a post-incrementedDan Gohman2010-02-222-2/+36
| | | | | | | | | 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
* Remove dead code.Zhongxing Xu2010-02-221-2/+0
| | | | llvm-svn: 96773
* Simplify code: Succ is guaranteed to be not NULL.Zhongxing Xu2010-02-221-28/+28
| | | | llvm-svn: 96772
* This cast<Instruction> is unnecessary.Dan Gohman2010-02-221-1/+1
| | | | llvm-svn: 96771
* enhance my hack for flags handling, this allows us to passChris Lattner2010-02-221-1/+2
| | | | | | CodeGen/X86/pr2182.ll. Down to 13 x86 failures out of ~1100 llvm-svn: 96770
* Add 'previous declaration is here' note for param redefinition Chris Lattner2010-02-225-8/+9
| | | | | | | | | | | | | 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
* fix an incorrect VT: eflags is always i32. The bug was causing us toChris Lattner2010-02-221-1/+1
| | | | | | | | 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
* fix most of the failures in the x86 suite by handling multiple Chris Lattner2010-02-212-9/+50
| | | | | | | | | | 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
* Eliminate the default arguments to ASTContext::getFunctionType(),Douglas Gregor2010-02-2111-42/+114
| | | | | | | | fixing up a few callers that thought they were propagating NoReturn information but were in fact saying something about exception specifications. llvm-svn: 96766
* Spell string.h correctly.Daniel Dunbar2010-02-211-1/+1
| | | | llvm-svn: 96765
* Add missing include, noticed by ace2001ac on IRC.Daniel Dunbar2010-02-211-0/+1
| | | | llvm-svn: 96764
* MC/X86: Add stub AsmBackend.Daniel Dunbar2010-02-215-3/+50
| | | | llvm-svn: 96763
* MC: Sketch registry support for target specific assembler backends.Daniel Dunbar2010-02-213-0/+107
| | | | llvm-svn: 96762
* Formatting tweaks (trailing whitespace, ordering, comments).Daniel Dunbar2010-02-211-89/+91
| | | | llvm-svn: 96761
* Remove unused includes.Daniel Dunbar2010-02-211-2/+0
| | | | llvm-svn: 96760
* De-XFAIL some win32 tests that are now passingDouglas Gregor2010-02-215-5/+0
| | | | llvm-svn: 96759
* fix an odd thinko in an assertion, all arm tests pass now.Chris Lattner2010-02-211-1/+1
| | | | llvm-svn: 96758
* Always emit register class id references as i32 likeChris Lattner2010-02-211-1/+1
| | | | | | | DAGISelEmitter does. This fixes 11 arm failures (8 left). llvm-svn: 96757
* add some no-unwinds, other minor cleanups.Chris Lattner2010-02-213-30/+30
| | | | llvm-svn: 96756
* It turned out that we failed to emit proper symbol stubs on non-x86/darwin ↵Anton Korobeynikov2010-02-215-84/+35
| | | | | | | | | 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
* Attempt to fix the MSVC9 failure with c-indext-test, where the CIndex DLLDouglas Gregor2010-02-212-1/+7
| | | | | | | | 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
* speculatively teach OPC_CheckValueType and OPC_EmitNode to handleChris Lattner2010-02-211-6/+15
| | | | | | MVT::iPTR. llvm-svn: 96753
* teach OPC_CheckType to handle MVT::iPTR, down to 2 ppc failures.Chris Lattner2010-02-211-3/+9
| | | | llvm-svn: 96752
* make this check a bit more generous, it may be outliving its Chris Lattner2010-02-211-0/+2
| | | | | | utility. Down to 6 ppc failures. llvm-svn: 96751
* Relax an assertion a bit. We allow replacing things likeChris Lattner2010-02-211-1/+3
| | | | | | | | <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
* add a triple so that this doesn't fail due to linux/ppc register printing Chris Lattner2010-02-211-1/+1
| | | | | | syntax. llvm-svn: 96748
* Sort the patterns before adding them to the FA so that we get theChris Lattner2010-02-211-7/+52
| | | | | | least cost matches. This gets us from 195 -> 208 passes on the ppc codegen tests. llvm-svn: 96747
* Remove a bunch of duplicated code, where there was one version taking a ↵Duncan Sands2010-02-211-177/+15
| | | | | | | | std::ostream and another taking a raw_ostream, but otherwise identical. Use raw_ostream everywhere. llvm-svn: 96746
* filecheckize and add nouwinds.Chris Lattner2010-02-211-9/+16
| | | | llvm-svn: 96745
* Enable assertion to detect cyclic valno references.Jakob Stoklund Olesen2010-02-211-1/+1
| | | | | | This changes the stack overflow in PR6363 to an assertion failure. llvm-svn: 96744
* Implement support for parsing pseudo-destructor expression with a ↵Douglas Gregor2010-02-2111-49/+121
| | | | | | | | | | | | 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
* A constructor template cannot be used to copy to an object of the same class ↵Douglas Gregor2010-02-211-1/+2
| | | | | | type (per C++ [class.copy]p3). Make sure that includes copies that involve a derived-to-base conversion. Fixes PR6141. llvm-svn: 96742
* Implement AST import for C++ member functions, including constructors, ↵Douglas Gregor2010-02-211-5/+47
| | | | | | destructors, and conversions. Unfortunately, this cannot be tested yet, since we don't have C++ PCH support. llvm-svn: 96741
* Implement AST importing for C++ namespaces.Douglas Gregor2010-02-211-1/+67
| | | | llvm-svn: 96740
* Collect the code that imports all of the members of a declaration context ↵Douglas Gregor2010-02-211-27/+14
| | | | | | into a single function, ImportDeclContext. Use it rather than explicit loops. No functionality change. llvm-svn: 96739
* Implement PCH support for C++ namespaces.Douglas Gregor2010-02-214-3/+33
| | | | llvm-svn: 96738
* IT turns out that during jumpless setcc lowering eq and ne were swapped.Anton Korobeynikov2010-02-212-30/+27
| | | | | | This fixes PR6348 llvm-svn: 96734
* Commiting a revert from dgregor of a bit of destructor logic until we canChandler Carruth2010-02-212-18/+12
| | | | | | | 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
* when a match fails and we have to rollback, make sure to keep 'N' in Chris Lattner2010-02-211-0/+1
| | | | | | | sync with the top of stack. This fixes a bunch of failures on larger testcases. llvm-svn: 96732
* handle optional in flags that aren't present.Chris Lattner2010-02-211-1/+1
| | | | llvm-svn: 96731
* emit table indexes before each row so that it is debuggable.Chris Lattner2010-02-211-7/+11
| | | | llvm-svn: 96730
OpenPOWER on IntegriCloud