summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* objective-c: warn if implementation of a method in categoryFariborz Jahanian2011-07-288-50/+207
| | | | | | | | | | masks an existing method in its primary class, class extensions, and primary class's non-optional protocol methods; as primary class, or one of its subclass's will implement this method. This warning has potential of being noisy so it has its own group. // rdar://7020493 llvm-svn: 136426
* Add regression test for rdar://problem/9531204.Johnny Chen2011-07-283-0/+76
| | | | llvm-svn: 136425
* Don't redeclare sr.Joerg Sonnenberger2011-07-281-1/+1
| | | | llvm-svn: 136424
* Some documentation fixes so that we are explicit about which iteration order ↵Jonathan D. Turner2011-07-282-10/+8
| | | | | | is source-order. Also, removing unused NextInSource field of Module. llvm-svn: 136423
* Really remove FlatStoreManager and BasicStoreManager, this time from the ↵Ted Kremenek2011-07-2861-273/+20
| | | | | | driver. Also remove associated tests. Sorry for the messy commits; this is the result of a botched Git merge. llvm-svn: 136422
* Remove flat store tests.Ted Kremenek2011-07-282-21/+0
| | | | llvm-svn: 136421
* Remove FlatStoreManager and BasicStoreManager. The latter has long been ↵Ted Kremenek2011-07-282-822/+0
| | | | | | obsolete and the former has no had development in a long time. llvm-svn: 136420
* [analyzer] Overhaul how the static analyzer expects CFGs by forcing CFGs to ↵Ted Kremenek2011-07-2820-1867/+2065
| | | | | | | | | | | | be linearized only when used by the static analyzer. This required a rewrite of LiveVariables, and exposed a ton of subtle bugs. The motivation of this large change is to drastically simplify the logic in ExprEngine going forward. Some fallout is that the output of some BugReporterVisitors is not as accurate as before; those will need to be fixed over time. There is also some possible performance regression as RemoveDeadBindings will be called frequently; this can also be improved over time. llvm-svn: 136419
* [analyzer] fix bug in malloc checker where the tracked symbol would not ↵Ted Kremenek2011-07-281-11/+18
| | | | | | properly be removed from the state. llvm-svn: 136418
* [analyzer] add accessor to StoreRef.Ted Kremenek2011-07-281-0/+1
| | | | llvm-svn: 136417
* [analyzer] Add StoreManager::includedInBindings() to to query whether a ↵Ted Kremenek2011-07-282-2/+22
| | | | | | region is used in any bindings. llvm-svn: 136416
* [analyzer] Add safety checking in RegionStoreManager for string literal ↵Ted Kremenek2011-07-281-0/+4
| | | | | | underruns. llvm-svn: 136415
* [analyzer] Teach Environment to not look through MaterializeTemporaryExprs.Ted Kremenek2011-07-281-3/+0
| | | | llvm-svn: 136414
* [analyzer] Fix bug in ObjCMessage where casts were being incorrectly ignored.Ted Kremenek2011-07-281-1/+1
| | | | llvm-svn: 136413
* [analyzer] fix handling of MaterializeTemporaryExpr by binding the result ↵Ted Kremenek2011-07-284-8/+11
| | | | | | | | value to the proper expression. llvm-svn: 136412
* Introduce the local-global mapping for preprocessed entities, and useDouglas Gregor2011-07-283-13/+32
| | | | | | | it appropriately. Also, patch up a place where we were failing to map local macro definition IDs into global macro definition IDs. llvm-svn: 136411
* Use local-to-global mapping appropriately for macro definitions in the ASTReaderDouglas Gregor2011-07-282-2/+21
| | | | llvm-svn: 136410
* Add test case for rdar://problem/9673664.Johnny Chen2011-07-283-0/+68
| | | | llvm-svn: 136409
* CBZ/CBNZ are Thumb2 only. No need for ARM mode tests for them.Jim Grosbach2011-07-281-4/+0
| | | | llvm-svn: 136408
* ARM assembly parsing and encoding for BLX (immediate).Jim Grosbach2011-07-283-3/+16
| | | | | | | | Add parsing support for BLX (immediate). Since the register operand version is predicated and the label operand version is not, we have to use some special handling to get the operand list right for matching. llvm-svn: 136406
* Enhance the fixed-length decoder emitter to support parsing scattered fields.Owen Anderson2011-07-282-80/+111
| | | | llvm-svn: 136405
* LangRef and basic memory-representation/reading/writing for 'cmpxchg' andEli Friedman2011-07-2818-43/+946
| | | | | | | | | | | | | | | | | | | | | 'atomicrmw' instructions, which allow representing all the current atomic rmw intrinsics. The allowed operands for these instructions are heavily restricted at the moment; we can probably loosen it a bit, but supporting general first-class types (where it makes sense) might get a bit complicated, given how SelectionDAG works. As an initial cut, these operations do not support specifying an alignment, but it would be possible to add if we think it's useful. Specifying an alignment lower than the natural alignment would be essentially impossible to support on anything other than x86, but specifying a greater alignment would be possible. I can't think of any useful optimizations which would use that information, but maybe someone else has ideas. Optimizer/codegen support coming soon. llvm-svn: 136404
* If run with -debug give more information about Cyclic Probability.Jakub Staszak2011-07-281-0/+2
| | | | llvm-svn: 136403
* Heuristics are in descending priority now. If we use one of them, skip the rest.Jakub Staszak2011-07-281-13/+23
| | | | llvm-svn: 136402
* Handle REG_SEQUENCE with implicitly defined operands.Jakob Stoklund Olesen2011-07-282-0/+27
| | | | | | | | | | | | | Code like that would only be produced by bugpoint, but we should still handle it correctly. When a register is defined by a REG_SEQUENCE of undefs, the register itself is undef. Previously, we would create a register with uses but no defs. Fixes part of PR10520. llvm-svn: 136401
* Remove obsolete FIXME reference in comment.Jim Grosbach2011-07-281-1/+1
| | | | llvm-svn: 136400
* ARM assembly parsing and encoding for BFC and BFI.Jim Grosbach2011-07-283-2/+130
| | | | | | | Add parsing support that handles converting the lsb+width source into the odd way we represent the instruction (an inverted bitfield mask). llvm-svn: 136399
* Add InEdges (edges from header to the loop) in Loop Branch Heuristics, soJakub Staszak2011-07-281-0/+17
| | | | | | | there is no frequency difference whether condition is in the header or in the latch. llvm-svn: 136398
* Use ArrayRef instead of requiring an std::vector.Bill Wendling2011-07-282-6/+8
| | | | llvm-svn: 136396
* Use the local -> global mapping functions for selectors moreDouglas Gregor2011-07-283-13/+22
| | | | | | consistently in the ASTReader. llvm-svn: 136395
* Add some descriptions about the default executable name being 'a.out' and ↵Johnny Chen2011-07-281-1/+33
| | | | | | | | can be overwritten by specifying your EXE make variable via your Makefile or within the Python test script. llvm-svn: 136394
* The personality function should be a Function* and not just a Value*.Bill Wendling2011-07-287-16/+23
| | | | llvm-svn: 136392
* Teach the ASTReader to perform local and global mapping of identifierDouglas Gregor2011-07-285-38/+62
| | | | | | IDs properly, although the mapping itself is still trivial. llvm-svn: 136391
* Fix Clang attribute reader tblgen output for a corresponding fix on the ↵Douglas Gregor2011-07-282-4/+7
| | | | | | Clang side llvm-svn: 136390
* Add a fixit for removal of unused label.Anna Zaks2011-07-282-3/+30
| | | | llvm-svn: 136389
* Reverse order of RS_Split live ranges under -compact-regions.Jakob Stoklund Olesen2011-07-281-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two conflicting strategies in play: - Under high register pressure, we want to assign large live ranges first. Smaller live ranges are easier to place afterwards. - Live range splitting is guided by interference, so splitting should be deferred until interference is as realistic as possible. With the recent changes to the live range stages, and with compact regions enabled, it is less traumatic to split a live range too early. If some of the split products were too big, they can often be split again. By reversing the RS_Split order, we get this queue order: 1. Normal live ranges, large to small. 2. RS_Split live ranges, large to small. The large-to-small order improves RAGreedy's puzzle solving skills under high register pressure. It may cause a bit more iterated splitting, but we handle that better now. With this change, -compact-regions is mostly an improvement on SPEC. llvm-svn: 136388
* Initial code to convert ResumeInsts into calls to _Unwind_Resume.Bill Wendling2011-07-281-1/+57
| | | | | | This should be the only code necessary for DWARF EH prepare. llvm-svn: 136387
* Add a reproducible test case (expression parser crashes) to the lldb test suite.Johnny Chen2011-07-284-0/+139
| | | | | | rdar://problem/9691614. llvm-svn: 136386
* Fix a test case that was intermittently failing. The issue was that ↵Richard Trieu2011-07-281-7/+13
| | | | | | | | instantiations are not stored in an order preserving structure, so the print order may be impacted. Modified test case to do two FileCheck passes to ensure that both instantiations are in the same place. Test originially commited at r136306 and temporarily silenced at r136348. llvm-svn: 136385
* Fix stupid mistake from commit 136381.Jakub Staszak2011-07-281-1/+1
| | | | llvm-svn: 136384
* Added basic parsing for all remaining attributes, thread safetyCaitlin Sadowski2011-07-287-19/+1015
| | | | | | | analysis. This includes checking that the attributes are applied in the correct contexts and with the correct number of arguments. llvm-svn: 136383
* Speed up BlockFrequencyInfo a little bit.Jakub Staszak2011-07-281-1/+3
| | | | llvm-svn: 136381
* Another test case for the &/* mismatch fixit.Anna Zaks2011-07-281-1/+15
| | | | llvm-svn: 136380
* Add */& mismatch fixit generation to the Sema::DiagnoseAssignmentResult().Anna Zaks2011-07-286-9/+86
| | | | llvm-svn: 136379
* Make the deserialization of Sema::PendingInstantiations lazy. At thisDouglas Gregor2011-07-284-9/+35
| | | | | | | | point, ASTReader::InitializeSema() has very little interesting work, *except* issues stemming from preloaded declarations. That's something we'll still need to cope with. llvm-svn: 136378
* Don't redeclare sr.Joerg Sonnenberger2011-07-281-1/+1
| | | | llvm-svn: 136377
* Refactor the */& mismatch fixit generation out of SemaOverload and provide a ↵Anna Zaks2011-07-285-134/+283
| | | | | | simple conversion checking function. llvm-svn: 136376
* Add fixme.Jim Grosbach2011-07-281-1/+5
| | | | llvm-svn: 136375
* Promote the deserialized PendingInstantiations vector from being aDouglas Gregor2011-07-282-20/+26
| | | | | | | Module member to being an ASTReader member; we want it to be centralized for lazy deserialization. llvm-svn: 136373
* Lazily deserialize Sema::VTableUses. Plus, fix the utterly andDouglas Gregor2011-07-286-18/+72
| | | | | | | | completely broken deserialization mapping code we had for VTableUses, which would have broken horribly as soon as our local-to-global ID mapping became interesting. llvm-svn: 136371
OpenPOWER on IntegriCloud