summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove duplicated test.Rafael Espindola2011-06-101-4/+3
| | | | | | Thanks Bob Wilson for noticing it! llvm-svn: 132851
* Move some sub-register index calculations to CodeGenRegisters.cppJakob Stoklund Olesen2011-06-105-40/+76
| | | | | | | Create a new CodeGenRegBank class that will eventually hold all the code that computes the register structure from Records. llvm-svn: 132849
* Fix example code in comment.Richard Osborne2011-06-101-2/+2
| | | | llvm-svn: 132844
* This change is breaking selfhost. Revert it until I have more timeAlexis Hunt2011-06-103-115/+195
| | | | | | to study it. llvm-svn: 132843
* Uncomment this testcase now that we pass it.Alexis Hunt2011-06-101-5/+2
| | | | llvm-svn: 132842
* Implement caching of copy assignment operator lookup.Alexis Hunt2011-06-103-195/+115
| | | | | | | | | | | | | I believe, upon, careful review, that this code causes us to incorrectly handle exception specifications of copy assignment operators in C++03 mode. However, we currently do not seem to properly implement the subtle distinction between copying of members and bases made by implicit copy constructors and assignment operators in C++03 - namely that they are limited in their overload selection - in all cases. As such, I feel that committing this code is correct pending a careful review of our implementation of these semantics. llvm-svn: 132841
* [analyzer] PR8962 again. Ban ParenExprs (and friends) from block-level ↵Jordy Rose2011-06-105-42/+41
| | | | | | | | expressions (by calling IgnoreParens before adding expressions to blocks). Undo 132769 (LiveVariables' local IgnoreParens), since it's no longer necessary. Also, have Environment stop looking through NoOp casts; it didn't match the behavior of LiveVariables. And once that's gone, the whole cast block of that switch is unnecessary. llvm-svn: 132840
* Add -mattr=+sse2 to make the buildbots happy.Eli Friedman2011-06-101-1/+1
| | | | llvm-svn: 132839
* Reverted r132785. It seems this test needs more research.Galina Kistanova2011-06-101-1/+4
| | | | llvm-svn: 132836
* Implement caching for copy constructors in similar situations.Alexis Hunt2011-06-103-90/+61
| | | | llvm-svn: 132835
* Changed condition.Galina Kistanova2011-06-101-1/+1
| | | | llvm-svn: 132834
* Implement caching of default constructors on the resolution table. ThisAlexis Hunt2011-06-104-75/+197
| | | | | | | | isn't yet used for the less controlled environments of initialization. Also a few random text fixups. llvm-svn: 132833
* Implement vector new and delete functionalityMarshall Clow2011-06-104-0/+747
| | | | llvm-svn: 132832
* Made changes to how 'struct'/'class' mismatches are handled in ↵Richard Trieu2011-06-107-19/+239
| | | | | | | | | | | | | | | | | -Wmismatched-tags. - Removed fix-it hints from template instaniations since changes to the templates are rarely helpful. - Changed the caret in template instaniations from the class/struct name to the class/struct keyword, matching the other warnings. - Do not offer fix-it hints when multiple declarations disagree. Warnings are still given. - Once a definition is found, offer a fix-it hint to all previous declarations with wrong tag. - Declarations that disagree with a previous definition will get a fix-it hint to change the declaration. llvm-svn: 132831
* Adding a test case for revision 132825.Chad Rosier2011-06-101-0/+18
| | | | llvm-svn: 132830
* Make the size accessor const.Greg Clayton2011-06-101-1/+1
| | | | llvm-svn: 132829
* Header file cleanup and moved an inline to the implementation file.Greg Clayton2011-06-102-6/+11
| | | | llvm-svn: 132828
* Added an llvm::StringRef accessor.Greg Clayton2011-06-101-0/+8
| | | | llvm-svn: 132827
* PR10092 (second try): Don't crash on a load without a momoperand; fast-isel ↵Eli Friedman2011-06-101-1/+1
| | | | | | creates loads like this. llvm-svn: 132826
* Ensure that EmitGlobalVariable is correctly differentiating between declarationsChad Rosier2011-06-101-1/+1
| | | | | | | | and definitions when emitting global variables. This was causing global declarations to be emitted as if they were definitions. Fixes <rdar://problem/9429892>. llvm-svn: 132825
* Add a simple test which makes sure folding immediate float zero to a memory ↵Eli Friedman2011-06-101-0/+34
| | | | | | operand works. llvm-svn: 132824
* Explicitly set the value to NULL when adding a string map entry.Greg Clayton2011-06-101-1/+1
| | | | llvm-svn: 132823
* Make the optional verification step more strict.Rafael Espindola2011-06-091-1/+8
| | | | llvm-svn: 132822
* Avoid a gcc warning about multiline comments.Rafael Espindola2011-06-091-6/+6
| | | | llvm-svn: 132821
* more Apple build system tweaksNick Kledzik2011-06-091-5/+6
| | | | llvm-svn: 132819
* On last fix to the early tail duplication.Rafael Espindola2011-06-091-4/+60
| | | | | | | | With this I am able to bootstrap clang with early tail duplication enabled for any small bb and setting tail-dup-size to a relatively large value(8) to stress this code. llvm-svn: 132816
* Chris fixed this README a while back by changing how clang generates code ↵Eli Friedman2011-06-091-45/+0
| | | | | | for structs like the given struct. llvm-svn: 132815
* Also consider phi nodes when deciding if a register is live out.Rafael Espindola2011-06-091-10/+34
| | | | llvm-svn: 132814
* I modified the StringMap that was being used to unique our debugger C stringsGreg Clayton2011-06-096-35/+281
| | | | | | | | | | | | | | to have the value for the map be a "const char *" instead of an unused uint32_t. This allows us to store the uniqued mangled/demangled counterpart in this map for mangled names. This also speeds up the mangled/demangled counterpart lookup that used to be maintained in a STL map by having direct access to the data. If we eventually need to associate other strings to strings to more data, we can make the value of the StringMap have a more complex value. Added the start of a history source and history event class. It isn't being used by anything yet, but might be shortly. llvm-svn: 132813
* Add few missing files in AST directory to xcode project.Fariborz Jahanian2011-06-091-0/+15
| | | | llvm-svn: 132812
* A CCState was being created without setting whether it is in the Call or ↵Cameron Zwarich2011-06-092-0/+40
| | | | | | | | | | | Prologue state, causing an assertion failure downstream. This fixes <rdar://problem/9562908>. This really seems like it should always be set at CCState creation time, so mistakes like this can never happen. I'll take a look at doing that. llvm-svn: 132811
* Change this DAGCombine to build AND of SHR instead of SHR of AND; this ↵Eli Friedman2011-06-092-15/+27
| | | | | | | | matches the ordering we prefer in instcombine. Part of rdar://9562809. The potential DAGCombine which enforces this more generally messes up some other very fragile patterns, so I'm leaving that alone, at least for now. llvm-svn: 132809
* Comment out the debug stmts.Johnny Chen2011-06-091-3/+2
| | | | llvm-svn: 132808
* Add rich comparison methods for the SBAddress object.Johnny Chen2011-06-092-2/+8
| | | | | | | | If two SBAddress's have the same module and file address, they are considered equal. Add a test snippet 'sa1 == sa2' to exercise the rich comparison methods for SBAddress. llvm-svn: 132807
* AnalyzeBranch modifies the bb, but we don't want to modify a bb withRafael Espindola2011-06-091-7/+6
| | | | | | eh edges. Swap the order of the checks to avoid it. llvm-svn: 132806
* A PHI in this basic block is a use in another basic block.Rafael Espindola2011-06-091-1/+1
| | | | llvm-svn: 132805
* When deleting a basic block, remove call edges only for non-intrinsics.John McCall2011-06-091-1/+1
| | | | llvm-svn: 132803
* Fix emission of PPC64 assembler on non-darwin platforms by splittingRoman Divacky2011-06-095-19/+24
| | | | | | | | VK_PPC_{HA,LO}16 into darwin and gas variants. Darwin wants {ha,lo}16(symbol) while gnu as wants symbol@{ha,l}. llvm-svn: 132802
* Modify comment.Johnny Chen2011-06-091-1/+1
| | | | llvm-svn: 132800
* SplitCriticalEdge can sometimes split the edge from an invoke to a landingJohn McCall2011-06-092-29/+276
| | | | | | | | | | | | pad, separating the exception and selector calls from the new lpad. Teaching it not to do that, or to properly adjust the CFG afterwards, is out of scope because it would require the other edges to the landing pad to be split as well (effectively). Instead, just recover from the most likely cases during inlining. The best long-term solution is to change the exception representation and commit to either requiring or not requiring the more complex edge-splitting logic; this is just a shorter-term hack. llvm-svn: 132799
* Refactor some checks into shouldTailDuplicate. Update comments.Rafael Espindola2011-06-091-18/+29
| | | | | | No functionality change. llvm-svn: 132798
* Teach the CallGraph to ignore calls to intrinsics.John McCall2011-06-094-44/+13
| | | | llvm-svn: 132797
* Revert 132789; it breaks tests. My mistake.Eli Friedman2011-06-091-4/+0
| | | | llvm-svn: 132795
* Don't add objc method name mangling to locally declared function.Fariborz Jahanian2011-06-092-0/+18
| | | | | | // rdar://9566314 llvm-svn: 132791
* Remove an uneeded switch - Turns out reloc results are identical w/o the ↵Jason W Kim2011-06-091-12/+1
| | | | | | switch. (face+palm) llvm-svn: 132790
* Add a check to make sure we don't crash with strange configurations where we ↵Eli Friedman2011-06-091-0/+4
| | | | | | do fast-isel, then try to fold instructions. PR10092. llvm-svn: 132789
* Move TableGen's register bank classes to their own source file.Jakob Stoklund Olesen2011-06-093-73/+102
| | | | | | | | | | | I'll be moving some more code there to gather all of the register-specific stuff in one place. Currently it is shared between CodeGenTarget and RegisterInfoEmitter. The plan is that CodeGenRegisters can compute the full register bank structure while RegisterInfoEmitter only will handle the printing part. llvm-svn: 132788
* Added dg.exp to run FrontendC ARM-dependent tests; updated ↵Galina Kistanova2011-06-092-4/+6
| | | | | | inline-asm-multichar.c test per this change. llvm-svn: 132785
* Handle overloaded operators in ?: precedence warningHans Wennborg2011-06-094-39/+107
| | | | | | | | | | | | | | This is a follow-up to r132565, and should address the rest of PR9969: Warn about cases such as int foo(A a, bool b) { return a + b ? 1 : 2; // user probably meant a + (b ? 1 : 2); } also when + is an overloaded operator call. llvm-svn: 132784
* Add isVCVT_N flag to identify Neon VCVT_N intrinsics, which require specialBob Wilson2011-06-092-3/+13
| | | | | | range checking for immediate operands. Radar 9558930. llvm-svn: 132783
OpenPOWER on IntegriCloud