summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Make Decl::isOutOfLine() virtual, and use that to determine when definitionsChandler Carruth2010-02-215-15/+41
| | | | | | | are for out of line declarations more easily. This simplifies the logic and handles the case of out-of-line class definitions correctly. Fixes PR6107. llvm-svn: 96729
* fix two bugs in OPC_EmitRegister, which makes ppc happier.Chris Lattner2010-02-211-4/+5
| | | | llvm-svn: 96728
* fix a table size miscomputation, target opcodes are 2 bytes.Chris Lattner2010-02-211-1/+1
| | | | | | | With this, the matcher actually works reasonably well, but crashes on larger examples in the scheduler. llvm-svn: 96727
* emit to the right streams, to avoid emitting the pushChris Lattner2010-02-211-15/+16
| | | | | | body before the push. llvm-svn: 96726
* oops don't turn this on for everyone yet.Chris Lattner2010-02-211-1/+1
| | | | llvm-svn: 96725
* implement the last known missing feature: updating uses of results Chris Lattner2010-02-216-31/+84
| | | | | | | of the matched pattern to use the newly created node results. Onto the "making it actually work" phase! llvm-svn: 96724
* Clang really intends to reject attribute 'warn_unused_result' on Objective-C ↵Ted Kremenek2010-02-212-1/+9
| | | | | | | | | methods, but instead it crashes on them. We might extend this attribute to work on methods, but for now fix the crasher. Addresses <rdar://problem/7670939>. llvm-svn: 96723
* Don't emit a warning about a dllimport attribute being used in a typedefTed Kremenek2010-02-212-2/+23
| | | | | | when -fms-extensions is specified. Fixes <rdar://problem/7653870>. llvm-svn: 96722
* Don't warn about functions redeclared without the dllimport attribute whenTed Kremenek2010-02-212-1/+24
| | | | | | -fms-extensions is enabled. Fixes <rdar://problem/7669559>. llvm-svn: 96721
* fix and un-xfail X86/vec_ss_load_fold.llChris Lattner2010-02-212-4/+2
| | | | llvm-svn: 96720
* Undo r96654. The printing of ARM shift instructions in canonical forms can beJohnny Chen2010-02-211-24/+28
| | | | | | | | handled in ARMInstPrinter.cpp. And added PLD/PLDW/PLI (Preload Data/Instruction) for disassembly only. llvm-svn: 96719
* Reduce size of 'StackAlignment' field from 5 to 3 bits. Seriously, who needs aCharles Davis2010-02-211-6/+6
| | | | | | 2GB-aligned stack anyway? 256 bytes is plenty. Requested by Chris. llvm-svn: 96718
* temporarily disable this.Chris Lattner2010-02-211-1/+2
| | | | llvm-svn: 96717
* Lots of improvements to the new dagisel emitter. This gets it toChris Lattner2010-02-216-231/+1022
| | | | | | | | | | | | | | | | | | | the point where it is to the 95% feature complete mark, it just needs result updating to be done (then testing, optimization etc). More specificallly, this adds support for chain and flag handling on the result nodes, support for sdnodexforms, support for variadic nodes, memrefs, pinned physreg inputs, and probably lots of other stuff. In the old DAGISelEmitter, this deletes the dead code related to OperatorMap, cleans up a variety of dead stuff handling "implicit remapping" from things like globaladdr -> targetglobaladdr (which is no longer used because globaladdr always needs to be legalized), and some minor formatting fixes. llvm-svn: 96716
OpenPOWER on IntegriCloud