summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* fix __sync_bool_compare_and_swap to work with address-space qualified types.Chris Lattner2010-09-212-5/+17
| | | | llvm-svn: 114498
* filecheckize.Chris Lattner2010-09-211-19/+87
| | | | llvm-svn: 114497
* visibility-decoration.Howard Hinnant2010-09-213-87/+186
| | | | llvm-svn: 114496
* Fixes an IRgen ICE due to cast of null pointer toFariborz Jahanian2010-09-212-2/+20
| | | | | | a vla type (fixes pr7827). llvm-svn: 114495
* Enable target-specific mul-lowering on ARM, even at -Os. Remove a test that ↵Owen Anderson2010-09-213-19/+18
| | | | | | | | this makes irrelevant, but add a new test for the new, improved functionality. llvm-svn: 114494
* Wrapped the subclass-specific cleanup call within a try:except: clause.Johnny Chen2010-09-213-8/+13
| | | | | | And removed the informational output from the conditional_break test case. llvm-svn: 114493
* Build the complement interval dupli after the split intervals instead ofJakob Stoklund Olesen2010-09-212-35/+145
| | | | | | | | | | | | | creating it before and subtracting split ranges. This way, the SSA update code in LiveIntervalMap can properly create and use new phi values in dupli. Now it is possible to create split regions where a value escapes along two different CFG edges, creating phi values outside the split region. This is a work in progress and probably quite broken. llvm-svn: 114492
* reimplement support for GS and FS relative address space matchingChris Lattner2010-09-213-57/+44
| | | | | | | | | | | | | | | | | by having X86DAGToDAGISel::SelectAddr get passed in the parent node of the operand match (the load/store/atomic op) and having it get the address space from that, instead of having special FS/GS addr mode operations that require duplicating the entire instruction set to support. This makes FS and GS relative accesses *far* more predictable and work much better. It also simplifies the X86 backend a bit, more to come. There is still a pending issue with nodes like ISD::PREFETCH and X86ISD::FLD, which really should be MemSDNode's but aren't. llvm-svn: 114491
* Fixed pr20314-2.c failure, added E, F, p constraint letters.John Thompson2010-09-212-6/+21
| | | | llvm-svn: 114490
* Rework passing parent pointers into complexpatterns, I forgotChris Lattner2010-09-213-30/+39
| | | | | | | | that complex patterns are matched after the entire pattern has a structural match, therefore the NodeStack isn't in a useful state when the actual call to the matcher happens. llvm-svn: 114489
* Move a sign-extend or a zero-extend of a load to the same basic block as theBob Wilson2010-09-211-1/+2
| | | | | | | load when the type of the load is not legal, even if truncates are not free. The load is going to be legalized to an extending load anyway. llvm-svn: 114488
* Clarify a comment.Bob Wilson2010-09-211-1/+1
| | | | llvm-svn: 114487
* visibility-decoration.Howard Hinnant2010-09-2111-196/+351
| | | | llvm-svn: 114486
* Fixed an issue with the clang type creation code for C++ classes where we ↵Greg Clayton2010-09-211-1/+26
| | | | | | wouldn't set a CXXRecordDecl to be NOT empty if we had base classes that were not empty or had virtual functions. llvm-svn: 114484
* Add some utility routines.Dan Gohman2010-09-211-0/+12
| | | | llvm-svn: 114483
* Add insertAfter. This should have accompanied previous check-in.Devang Patel2010-09-211-0/+3
| | | | llvm-svn: 114481
* Added a more complex test case of breakpoint commands, which executes a sequenceJohnny Chen2010-09-214-8/+172
| | | | | | | | | | | | | | | | | | | of 'breakpoint command add/list/remove' commands to set breakpoint callbacks, list them, and then remove one. Modified the lldbtest.TestBase.expect() method to add two additional keyword arguments: o matching (default to True), which, if set to False, reverses the semantics of 'expect' to 'expect not' o patterns (default to None), which specifies a list of regexp patterns to match against the output from running the command TestBreakpointCommand.py uses the matching=False and the patterns=[...] expect() API. llvm-svn: 114480
* If only user of a vreg is an copy instruction to export copy of vreg out of ↵Devang Patel2010-09-211-0/+23
| | | | | | | | | current basic block then insert DBG_VALUE so that debug value of the variable is also transfered to new vreg. Testcase is in r114476. This fixes radar 8412415. llvm-svn: 114478
* Correctly register the class extension as the lexical DeclContext for ObjC ↵Ted Kremenek2010-09-213-11/+14
| | | | | | | | | | | | methods declared with @property in class extensions. This matches the behavior for setters. Also pass the class extension to ProcessPropertyDecl as the lexical DeclContext, even when not redeclaring the @property. This fixes the remaining issues in <rdar://problem/7410145>. llvm-svn: 114477
* testcase commit for upcoming fix.Devang Patel2010-09-211-0/+124
| | | | llvm-svn: 114476
* Use FileCheckDevang Patel2010-09-211-2/+5
| | | | llvm-svn: 114475
* correct this logic.Chris Lattner2010-09-211-2/+2
| | | | llvm-svn: 114474
* Reimplement r114460 in target-independent DAGCombine rather than ↵Owen Anderson2010-09-213-23/+29
| | | | | | | | | target-dependent, by using the predicate to discover the number of sign bits. Enhance X86's target lowering to provide a useful response to this query. llvm-svn: 114473
* just like they can opt into getting the root of the pattern beingChris Lattner2010-09-213-3/+13
| | | | | | | matched, allow ComplexPatterns to opt into getting the parent node of the operand being matched. llvm-svn: 114472
* fix a long standing wart: all the ComplexPattern's were beingChris Lattner2010-09-2120-141/+142
| | | | | | | | | | | passed the root of the match, even though only a few patterns actually needed this (one in X86, several in ARM [which should be refactored anyway], and some in CellSPU that I don't feel like detangling). Instead of requiring all ComplexPatterns to take the dead root, have targets opt into getting the root by putting SDNPWantRoot on the ComplexPattern. llvm-svn: 114471
* visibility-decoration.Howard Hinnant2010-09-217-65/+149
| | | | llvm-svn: 114470
* Refix MSVC9 and upper_bound. It actually needs a fully symmetric comparator.Jakob Stoklund Olesen2010-09-211-7/+5
| | | | llvm-svn: 114469
* even though I'm about to rip it out, simplify the address mode stuffChris Lattner2010-09-212-28/+13
| | | | llvm-svn: 114468
* Re-write/clean up code that generated Python breakpoint commands.Caroline Tice2010-09-212-113/+163
| | | | | | | Add a warning if no command was attached to the breakpoint. Update the help slightly. llvm-svn: 114467
* Decorated PersistentVariablesTestCase.test_persistent_variables() withJohnny Chen2010-09-211-0/+2
| | | | | | @expectedFailure as of r114384. llvm-svn: 114466
* visibility-decoration.Howard Hinnant2010-09-211-32/+40
| | | | llvm-svn: 114465
* finish pushing MachinePointerInfo through selectiondags. At this point,Chris Lattner2010-09-213-19/+7
| | | | | | | I think I've audited all uses, so it should be dependable for address spaces, and the pointer+offset info should also be accurate when there. llvm-svn: 114464
* convert a couple more places to use the new getStore()Chris Lattner2010-09-214-11/+19
| | | | llvm-svn: 114463
* update a bunch of code to use the MachinePointerInfo version of getStore.Chris Lattner2010-09-2114-93/+87
| | | | llvm-svn: 114461
* When adding the carry bit to another value on X86, exploit the fact that the ↵Owen Anderson2010-09-212-0/+37
| | | | | | | | | | | carry-materialization (sbbl x, x) sets the registers to 0 or ~0. Combined with two's complement arithmetic, we can fold the intermediate AND and the ADD into a single SUB. This fixes <rdar://problem/8449754>. llvm-svn: 114460
* Don't pollute the global namespace.Jakob Stoklund Olesen2010-09-211-0/+2
| | | | llvm-svn: 114459
* IRgen for gnu extension's conditional lvalue expressionFariborz Jahanian2010-09-213-6/+36
| | | | | | | with missing LHS. radar 8453812. Executable test is checked into llvm test suite. llvm-svn: 114457
* For ObjCPropertyDecls in class extensions, use the class extension as the ↵Ted Kremenek2010-09-213-25/+66
| | | | | | | | | | | lexical DeclContext for newly created ObjCMethodDecls. Further, use the location of the new property declaration as the location of new ObjCMethodDecls (if they didn't previously exist). This fixes more of the issues reported in <rdar://problem/7410145>. llvm-svn: 114456
* MSVC9 does not support upper_bound with an asymmetric comparator.Jakob Stoklund Olesen2010-09-211-6/+10
| | | | llvm-svn: 114455
* Define the TargetLowering::getTgtMemIntrinsic hook for ARM so that NEON loadBob Wilson2010-09-213-1/+66
| | | | | | and store intrinsics are represented with MemIntrinsicSDNodes. llvm-svn: 114454
* eliminate some uses of the getStore overload.Chris Lattner2010-09-213-41/+60
| | | | llvm-svn: 114453
* eliminate an old SelectionDAG::getTruncStore method, propagatingChris Lattner2010-09-219-97/+77
| | | | | | MachinePointerInfo around more. llvm-svn: 114452
* visibility-decoration.Howard Hinnant2010-09-215-107/+199
| | | | llvm-svn: 114451
* eliminate last SelectionDAG::getLoad old entrypoint, on to stores.Chris Lattner2010-09-214-27/+7
| | | | llvm-svn: 114450
* fix the code that infers SV info to be correct when dealingChris Lattner2010-09-212-32/+53
| | | | | | with an indexed load/store that has an offset in the index. llvm-svn: 114449
* Add LiveInterval::find and use it for most LiveRange searching operationsJakob Stoklund Olesen2010-09-212-75/+41
| | | | | | | | | | | | instead of calling lower_bound or upper_bound directly. This cleans up the search logic a bit because {lower,upper}_bound compare LR->start by default, and it is usually simpler to search LR->end. Funnelling all searches through one function also makes it possible to replace the search algorithm with something faster than binary search. llvm-svn: 114448
* Remove dead method.Jakob Stoklund Olesen2010-09-212-26/+0
| | | | llvm-svn: 114447
* propagate MachinePointerInfo through various uses of the oldChris Lattner2010-09-2112-299/+285
| | | | | | SelectionDAG::getExtLoad overload, and eliminate it. llvm-svn: 114446
* Fix errant printing of [v]ldm instructions that aren't a popJim Grosbach2010-09-211-32/+24
| | | | llvm-svn: 114445
* Simplify code.Benjamin Kramer2010-09-211-8/+6
| | | | llvm-svn: 114444
OpenPOWER on IntegriCloud