summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use a little binary header in serialized diagnostics to help the ↵Douglas Gregor2010-02-191-3/+26
| | | | | | deserializer skip over noise in the stream llvm-svn: 96641
* Transform (xor (setcc), (setcc)) == / != 1 toEvan Cheng2010-02-192-3/+44
| | | | | | | | | | | | | | | | | | | (xor (setcc), (setcc)) != / == 1. e.g. On x86_64 %0 = icmp eq i32 %x, 0 %1 = icmp eq i32 %y, 0 %2 = xor i1 %1, %0 br i1 %2, label %bb, label %return => testl %edi, %edi sete %al testl %esi, %esi sete %cl cmpb %al, %cl je LBB1_2 llvm-svn: 96640
* I confused myself, temporaries will be recorded right along with other inputs.Chris Lattner2010-02-191-31/+7
| | | | llvm-svn: 96639
* Patch removes IVars list from ObjCInterfaceDecl andFariborz Jahanian2010-02-1910-30/+47
| | | | | | instead relies on their DeclContext for iteration, etc. llvm-svn: 96638
* Use the same encoding for EH stuff uniformly on all MachO targets.Anton Korobeynikov2010-02-194-40/+22
| | | | | | This hopefulyl should unbreak EH on PPC/Darwin. llvm-svn: 96637
* introduce a new ResultVal and start keeping track of temporary values.Chris Lattner2010-02-191-12/+60
| | | | llvm-svn: 96636
* remove unused function & enumerationsBlaine Garst2010-02-192-39/+2
| | | | llvm-svn: 96635
* Radar 7636153. In the presence of large call frames, it's not sufficientJim Grosbach2010-02-194-6/+28
| | | | | | | | | for ARM to just check if a function has a FP to determine if it's safe to simplify the stack adjustment pseudo ops prior to eliminating frame indices. Allow targets to override the default behavior and does so for ARM and Thumb2. llvm-svn: 96634
* When determining the set of interesting reuse factors, considerDan Gohman2010-02-192-10/+72
| | | | | | | | strides in foreign loops. This helps locate reuse opportunities with existing induction variables in foreign loops and reduces the need for inserting new ones. This fixes rdar://7657764. llvm-svn: 96629
* Teach ASTUnit to keep track of temporary files, then delete them whenDouglas Gregor2010-02-184-17/+41
| | | | | | the ASTUnit itself is destroyed. Fixes <rdar://problem/7649385>. llvm-svn: 96628
* Indvars needs to explicitly notify ScalarEvolution when it is replacingDan Gohman2010-02-183-0/+41
| | | | | | | | a loop exit value, so that if a loop gets deleted, ScalarEvolution isn't stick holding on to dangling SCEVAddRecExprs for that loop. This fixes PR6339. llvm-svn: 96626
* Re-apply my diagnostics-capture patch for CIndex, with some tweaks toDouglas Gregor2010-02-1810-136/+296
| | | | | | try to address the msvc failures. llvm-svn: 96624
* Allow GNU attributes to appear in an Objective-C method declarationTed Kremenek2010-02-182-5/+15
| | | | | | | before the selector name (but after the return type). Among other things, this allows IBAction to be implemented with an attribute. llvm-svn: 96623
* Revert "Sort visitor methods so we can easily tell what's implemented."Ted Kremenek2010-02-181-14/+14
| | | | | | This reverts commit 4383e04c75731f8695b8355783f9966ac56b0926. llvm-svn: 96622
* getSplatIndex assumes that the first element of the mask contains the splat ↵Mon P Wang2010-02-182-6/+18
| | | | | | | | | index which is not always true if the mask contains undefs. Modified it to return the first non undef value. llvm-svn: 96621
* Revert "Tidy up order of switch statement. No functionality change."Ted Kremenek2010-02-181-20/+24
| | | | | | This reverts commit 95575005fc6409df98e6e079caf324308f62171b. llvm-svn: 96620
* Added LDRD_PRE/POST & STRD_PRE/POST for disassembly only.Johnny Chen2010-02-182-0/+80
| | | | llvm-svn: 96619
* Revert my CIndex diagnostic changes (r96603, 96606, 96607), which wereDouglas Gregor2010-02-188-275/+123
| | | | | | breaking the msvc9 builder for unknown reasons. llvm-svn: 96618
* add support for referencing registers and immediates,Chris Lattner2010-02-185-36/+132
| | | | | | | building the tree to represent them but not emitting table entries for them yet. llvm-svn: 96617
* replaceUsesOfWithOnConstant implementation for unions.Talin2010-02-181-1/+46
| | | | llvm-svn: 96616
* Hoist this loop-invariant logic out of the loop.Dan Gohman2010-02-181-4/+6
| | | | llvm-svn: 96614
* Always normalize spill weights, also for intervals created by spilling.Jakob Stoklund Olesen2010-02-185-6/+27
| | | | | | | | | | | | | | Moderate the weight given to very small intervals. The spill weight given to new intervals created when spilling was not normalized in the same way as the original spill weights calculated by CalcSpillWeights. That meant that restored registers would tend to hang around because they had a much higher spill weight that unspilled registers. This improves the runtime of a few tests by up to 10%, and there are no significant regressions. llvm-svn: 96613
* Revert the ctor/dtor alias optimization for now; the buildbots can detectJohn McCall2010-02-1810-156/+44
| | | | | | some failure here that I can't. llvm-svn: 96612
* Make CodePlacementOpt detect special EH control flow byDan Gohman2010-02-182-7/+53
| | | | | | | | | | checking whether AnalyzeBranch disagrees with the CFG directly, rather than looking for EH_LABEL instructions. EH_LABEL instructions aren't always at the end of the block, due to FP_REG_KILL and other things. This fixes an infinite loop compiling MultiSource/Benchmarks/Bullet. llvm-svn: 96611
* Fix comments.Devang Patel2010-02-181-3/+4
| | | | llvm-svn: 96610
* Destroy MDNodes gracefully while deleting llvm context.Devang Patel2010-02-183-1/+22
| | | | llvm-svn: 96609
* Fixed a crash specific to blocks in c++ uncovered by an internalFariborz Jahanian2010-02-182-1/+38
| | | | | | test suite. llvm-svn: 96608
* Introduce debugging/testing hook clang_enableStackTraces() intoDouglas Gregor2010-02-184-2/+9
| | | | | | | CIndex, so that c-index-test to use it to call lvm::sys::PrintStackTraceOnErrorSignal(). llvm-svn: 96607
* Resurrect the displayDiagnostics parameter to clang_createIndex(), andDouglas Gregor2010-02-185-18/+59
| | | | | | | display captured diagnostics when we can't return an invalid CXTranslationUnit. llvm-svn: 96606
* Make deleting and complete dtor variants defer to other dtor variants byJohn McCall2010-02-184-54/+131
| | | | | | | | calling them as subroutines. This triggers whenever the alias optimization doesn't, i.e. when the dtor has linkonce linkage or there are virtual bases or it's the deleting dtor. llvm-svn: 96605
* Ignore target dependent value in grep search.Devang Patel2010-02-181-1/+1
| | | | llvm-svn: 96604
* Introduce CIndex API functions for displaying a diagnostic, with someDouglas Gregor2010-02-185-104/+208
| | | | | | | | | | | knobs to control formatting. Eventually, I'd like to merge the implementation of this code with the TextDiagnosticPrinter, so that it's easy for CIndex clients to produce beautiful diagnostics like the clang compiler does. Use this new function to display diagnostics within c-index-test. llvm-svn: 96603
* Tidy up order of switch statement. No functionality change.Ted Kremenek2010-02-181-24/+20
| | | | llvm-svn: 96602
* Generate DBG_VALUE from dbg.value intrinsics. These currentlyDale Johannesen2010-02-181-0/+31
| | | | | | comes out as comments but will eventually generate DWARF. llvm-svn: 96601
* Sort visitor methods so we can easily tell what's implemented.Ted Kremenek2010-02-181-14/+14
| | | | llvm-svn: 96600
* Change cursor behavior for attributes to have them visited as part of recursingTed Kremenek2010-02-182-8/+2
| | | | | | to the children of a Decl. llvm-svn: 96599
* Clarify that ptrtoint+inttoptr are an alternative to GEP which areDan Gohman2010-02-181-6/+14
| | | | | | not restricted by the GEP rules. llvm-svn: 96598
* Fix a typo.Dan Gohman2010-02-181-1/+1
| | | | llvm-svn: 96597
* Clarify that the rules about object hopping kick in when a pointer isDan Gohman2010-02-181-4/+4
| | | | | | deferenced, rather than when the pointer value is computed. llvm-svn: 96596
* Attempt to fix the 32-bit test failures.Anders Carlsson2010-02-181-1/+1
| | | | llvm-svn: 96595
* Fix typos Duncan noticed.Dan Gohman2010-02-181-2/+2
| | | | llvm-svn: 96594
* tests: Tweak %clangxx definition to something which should be more portable.Daniel Dunbar2010-02-181-1/+1
| | | | llvm-svn: 96593
* Rework how CIndex handles diagnostics. Rather than using a callback,Douglas Gregor2010-02-1813-356/+504
| | | | | | | | | | | | | | | | | | we attach diagnostics to translation units and code-completion results, so they can be queried at any time. To facilitate this, the new StoredDiagnostic class stores a diagnostic in a serializable/deserializable form, and ASTUnit knows how to capture diagnostics in this stored form. CIndex's CXDiagnostic is a thin wrapper around StoredDiagnostic, providing a C interface to stored or de-serialized diagnostics. I've XFAIL'd one test case temporarily, because currently we end up storing diagnostics in an ASTUnit that's never returned to the user (because it contains errors). I'll introduce a temporary fix for this soon; the real fix will be to allow us to return and query invalid ASTs. llvm-svn: 96592
* Remap the call sites of a shared function in interrupt line functions.Sanjiv Gupta2010-02-182-0/+27
| | | | llvm-svn: 96591
* Fix another bug and add another class.Anders Carlsson2010-02-182-2/+44
| | | | llvm-svn: 96590
* Re-factoring.Sanjiv Gupta2010-02-182-67/+90
| | | | llvm-svn: 96589
* Add another class from cxx-vtable-ex.htmlAnders Carlsson2010-02-181-1/+25
| | | | llvm-svn: 96588
* More work on vcall offsets.Anders Carlsson2010-02-182-4/+86
| | | | llvm-svn: 96587
* Add tests from the Itanium C++ ABI spec.Anders Carlsson2010-02-181-0/+25
| | | | llvm-svn: 96586
* Start stubbing out vcall offset handling.Anders Carlsson2010-02-181-10/+60
| | | | llvm-svn: 96585
OpenPOWER on IntegriCloud