summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Simplify EvaluateAsAbsolute now that EvaluateAsRelocatableImpl does allRafael Espindola2010-12-211-19/+5
| | | | | | the folding it can. llvm-svn: 122359
* Don't relax org or align. They change size as the relaxation happens, but theyRafael Espindola2010-12-212-62/+30
| | | | | | | are not actually relaxed. For example, a section with only alignments will never needs relaxation. llvm-svn: 122356
* Add a new transform to DAGCombiner.Dale Johannesen2010-12-212-0/+36
| | | | llvm-svn: 122355
* Get the type of a shift from the shift, not from its shiftDale Johannesen2010-12-212-4/+4
| | | | | | | | count operand. These should be the same but apparently are not always, and this is cleaner anyway. This improves the code in an existing test. llvm-svn: 122354
* Shift by the word size is invalid IR; don't create it.Dale Johannesen2010-12-211-2/+2
| | | | llvm-svn: 122353
* Rename the test methods to be more meaningful.Johnny Chen2010-12-211-8/+8
| | | | llvm-svn: 122352
* In C++, if the user redeclares a builtin function with a type that isDouglas Gregor2010-12-214-0/+29
| | | | | | | | | | | | | | | inconsistent with the type that the builtin *should* have, forget about the builtin altogether: we don't want subsequence analyses, CodeGen, etc., to think that we have a proper builtin function. C is protected from errors here because it allows one to use a library builtin without having a declaration, and detects inconsistent (re-)declarations of builtins during declaration merging. C++ was unprotected, and therefore would crash. Fixes PR8839. llvm-svn: 122351
* When determining which preprocessed entities to traverse in libclang,Douglas Gregor2010-12-214-1/+29
| | | | | | | | take into account the region of interest. Otherwise, we may fail to traverse some important preprocessed entity cursors. Fixes <rdar://problem/8554072>. llvm-svn: 122350
* fix some typosChris Lattner2010-12-211-2/+1
| | | | llvm-svn: 122349
* Fix test to be platform-agnosticDouglas Gregor2010-12-211-1/+1
| | | | llvm-svn: 122348
* Fix a major inconsistency in the representation of Objective-CDouglas Gregor2010-12-217-70/+56
| | | | | | | | | | | | | | | | | | | | classes, categories, protocols, and class extensions, where the methods and properties of these entities would be inserted into the DeclContext in an ordering that doesn't necessarily reflect source order. The culprits were Sema::ActOnMethodDeclaration(), which did not perform the insertion of the just-created method declaration into the DeclContext for these Objective-C entities, and Sema::ActOnAtEnd(), which inserted all method declarations at the *end* of the DeclContext. With this fix in hand, clean up the code-completion actions for property setters/getters that worked around this brokenness in the AST. Fixes <rdar://problem/8062781>, where this problem manifested as poor token-annotation information, but this would have struck again in many other places. llvm-svn: 122347
* Revert 122341. It breaks some darwin tests.David Greene2010-12-213-50/+2
| | | | llvm-svn: 122346
* Fix indentation, add comment.Stuart Hastings2010-12-211-4/+6
| | | | llvm-svn: 122345
* Visit instructions deterministically. Use a FIFO so as to approximatelyDuncan Sands2010-12-211-11/+21
| | | | | | | visit instructions before their uses, since InstructionSimplify does a better job in that case. All this prompted by Frits van Bommel. llvm-svn: 122343
* Missing logic for nested CALLSEQ_START/END.Stuart Hastings2010-12-211-2/+5
| | | | llvm-svn: 122342
* Fix PR 8199. This patch prepends the build tool dir to LLVM programsDavid Greene2010-12-213-2/+50
| | | | | | | | being tested. This ensures that we test the tools just built and not some random tools that might happen to be in the user's PATH. This makes LLVM testing much more stable and predictable. llvm-svn: 122341
* Replace all uses of PathV1::makeAbsolute with PathV2::fs::make_absolute.Michael J. Spencer2010-12-215-24/+33
| | | | llvm-svn: 122340
* Fix spelling.Michael J. Spencer2010-12-211-1/+1
| | | | llvm-svn: 122339
* Implement BlockDecl::getSourceRange(). The bogus source-rangeDouglas Gregor2010-12-213-0/+39
| | | | | | | information caused token-annotation to fail in funny ways. Fixes <rdar://problem/8595386>. llvm-svn: 122338
* Tidy up a bit. Trailing whitespace, hard tabs and 80-columns.Jim Grosbach2010-12-214-536/+536
| | | | llvm-svn: 122337
* If an instruction simplifies, try again to simplify any uses of it. This isDuncan Sands2010-12-211-4/+32
| | | | | | | not very important since the pass is only used for testing, but it does make it more realistic. Suggested by Frits van Bommel. llvm-svn: 122336
* Add test for C++ [temp.friend]p8, which bans partial specializations from ↵Douglas Gregor2010-12-211-0/+6
| | | | | | being friends llvm-svn: 122335
* MC/Mach-O: Shuffle enums a bit to make it harder to inadvertently use the wrongDaniel Dunbar2010-12-213-15/+28
| | | | | | type. llvm-svn: 122334
* Add an additional InstructionSimplify factorization test.Duncan Sands2010-12-211-0/+10
| | | | llvm-svn: 122333
* While I don't think any later transforms can fire, it seems cleaner toDuncan Sands2010-12-212-3/+28
| | | | | | | not assume this (for example in case more transforms get added below it). Suggested by Frits van Bommel. llvm-svn: 122332
* Fix inverted condition noticed by Frits van Bommel.Duncan Sands2010-12-211-3/+3
| | | | llvm-svn: 122331
* Pull a few more simplifications out of instcombine (there are stillDuncan Sands2010-12-213-11/+94
| | | | | | plenty left though!), in particular for multiplication. llvm-svn: 122330
* Fix typo in comment, spotted by Deewiant.Duncan Sands2010-12-211-1/+1
| | | | llvm-svn: 122329
* Teach InstructionSimplify about distributive laws. These transforms fireDuncan Sands2010-12-212-11/+180
| | | | | | | quite often, but don't make much difference in practice presumably because instcombine also knows them and more. llvm-svn: 122328
* Move checking of the recursion limit into the various Thread methods.Duncan Sands2010-12-211-20/+36
| | | | | | No functionality change. llvm-svn: 122327
* Add generic simplification of associative operations, generalizingDuncan Sands2010-12-213-28/+185
| | | | | | | | | | | | a couple of existing transforms. This fires surprisingly often, for example when compiling gcc "(X+(-1))+1->X" fires quite a lot as well as various "and" simplifications (usually with a phi node operand). Most of the time this doesn't make a real difference since the same thing would have been done elsewhere anyway, eg: by instcombine, but there are a few places where this results in simplifications that we were not doing before. llvm-svn: 122326
* A class template partial specialization cannot be a friend. Fixes PR8649.Douglas Gregor2010-12-213-0/+17
| | | | llvm-svn: 122325
* Teach clang_getCursorSemanticParent() andDouglas Gregor2010-12-212-3/+34
| | | | | | | | clang_getCursorLexicalParent() to cope with class and function templates, along with the parent of the translation unit. Fixes PR8761 and PR8766. llvm-svn: 122324
* When checking a using declaration, make sure that the context we'reDouglas Gregor2010-12-212-0/+14
| | | | | | looking in is complete. Fixes PR8756. llvm-svn: 122323
* Don't try to compute the value of a value-dependent expression whenDouglas Gregor2010-12-212-0/+13
| | | | | | checking trivial comparisons. Fixes PR8795. llvm-svn: 122322
* Incremental progress towards a new implementation of StrongPHIElimination. MostCameron Zwarich2010-12-211-3/+186
| | | | | | | | | | | | of the problems with my last attempt were in the updating of LiveIntervals rather than the coalescing itself. Therefore, I decided to get that right first by essentially reimplementing the existing PHIElimination using LiveIntervals. It works correctly, with only a few tests failing (which may not be legitimate failures) and no new verifier failures (at least as far as I can tell, I didn't count the number per file). llvm-svn: 122321
* Add ARM-specific DAG combining to cast i64 vector element load/stores to f64.Bob Wilson2010-12-212-5/+133
| | | | | | | | | | | Type legalization splits up i64 values into pairs of i32 values, which leads to poor quality code when inserting or extracting i64 vector elements. If the vector element is loaded or stored, it can be treated as an f64 value and loaded or stored directly from a VPR register. Use the pre-legalization DAG combiner to cast those vector elements to f64 types so that the type legalizer won't mess them up. Radar 8755338. llvm-svn: 122319
* Initialize LangOptions::MSCVersion. Thanks to Csaba Raduly for noting the ↵Douglas Gregor2010-12-211-1/+2
| | | | | | omission llvm-svn: 122318
* Add back the late-specified return type paperDouglas Gregor2010-12-211-0/+9
| | | | llvm-svn: 122317
* Set the debugger to asynchronous mode before using the Python API call to killJohnny Chen2010-12-211-2/+11
| | | | | | | the process. The custom thread started before this point is running in a loop waiting for events to come. llvm-svn: 122316
* Updates to the C++ status page for C++0x features, from Michael PriceDouglas Gregor2010-12-211-27/+456
| | | | llvm-svn: 122315
* Layout one section until no relaxations are done and then move to the nextRafael Espindola2010-12-212-34/+43
| | | | | | | | | | section. This helps because in practice sections form a dag with debug sections pointing to text sections. Finishing up the text sections first makes the debug section relaxation trivial. llvm-svn: 122314
* Arm and thumb call instructions are also in different orders.Eric Christopher2010-12-211-13/+24
| | | | | | Fixes rdar://8782223 llvm-svn: 122313
* Grammar corrections and some formatting changes.Bill Wendling2010-12-211-200/+201
| | | | llvm-svn: 122312
* Add IndirectField case in DeclContextPrinter::PrintDeclContext.Francois Pichet2010-12-211-0/+5
| | | | | | Fix PR8832. llvm-svn: 122311
* rename MVT::Flag to MVT::Glue. "Flag" is a terrible name forChris Lattner2010-12-2138-153/+153
| | | | | | | something that just glues two nodes together, even if it is sometimes used for flags. llvm-svn: 122310
* add missing newlines at end of file.Chris Lattner2010-12-215-5/+5
| | | | llvm-svn: 122309
* Updated Xcode build version to lldb-37 and debugserver-123.Greg Clayton2010-12-213-16/+16
| | | | llvm-svn: 122308
* If we're not using reg+reg offset we're using reg+imm, set the opcodeEric Christopher2010-12-211-2/+2
| | | | | | | | | to be the one we want to use. bugpoint reduced testcase is a little large, I'll see if I can simplify it down more. Fixes part of rdar://8782207 llvm-svn: 122307
* Fix typo.Johnny Chen2010-12-211-1/+1
| | | | llvm-svn: 122306
OpenPOWER on IntegriCloud