summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix up some spacing. No functional change.Craig Topper2012-05-041-6/+6
| | | | llvm-svn: 156158
* Simplify broadcast lowering code. No functional change intended.Craig Topper2012-05-041-17/+7
| | | | llvm-svn: 156157
* Allow v16i16 and v32i8 shuffles to be rewritten as narrower shuffles.Craig Topper2012-05-042-5/+16
| | | | llvm-svn: 156156
* Add 'landingpad' instructions to the list of instructions to ignore.Bill Wendling2012-05-041-7/+9
| | | | | | Also combine the code in the 'assert' statement. llvm-svn: 156155
* Simplify shuffle narrowing code a bit. No functional change intended.Craig Topper2012-05-041-22/+16
| | | | llvm-svn: 156154
* test/PCH/remap-file-from-pch.cpp: Fix expression for DOS pathsep.NAKAMURA Takumi2012-05-041-1/+1
| | | | llvm-svn: 156153
* Remove the SubRegClasses field from RegisterClass descriptions.Jakob Stoklund Olesen2012-05-047-125/+30
| | | | | | This information in now computed by TableGen. llvm-svn: 156152
* Remove TargetRegisterClass::SuperRegClasses.Jakob Stoklund Olesen2012-05-044-89/+0
| | | | | | | | This manually enumerated list of super-register classes has been superceeded by the automatically computed super-register class masks available through SuperRegClassIterator. llvm-svn: 156151
* Pass -fcolor-diagnostics when it is supported. This makes a difference whenRafael Espindola2012-05-041-0/+4
| | | | | | using cmake+ninja, since ninja buffers the compiler output. llvm-svn: 156150
* Remove obsolete code for finding a fallback iOS SDK. <rdar://problem/11378535>Bob Wilson2012-05-041-3/+0
| | | | llvm-svn: 156149
* Skip checking for infinite for-loops if there are global or static variablesRichard Trieu2012-05-042-2/+11
| | | | | | in the conditional. llvm-svn: 156148
* Use SuperRegClassIterator for findRepresentativeClass().Jakob Stoklund Olesen2012-05-042-30/+15
| | | | | | | | The masks returned by SuperRegClassIterator are computed automatically by TableGen. This is better than depending on the manually specified SuperRegClasses. llvm-svn: 156147
* Initialize SparcInstrInfo before SparcTargetLowering.Jakob Stoklund Olesen2012-05-042-2/+3
| | | | | | | The TargetLowering construction needs to use a valid TargetRegisterInfo instance. llvm-svn: 156146
* [PCH] Really, pinky swear, fix for PR12689Argyrios Kyrtzidis2012-05-044-8/+29
| | | | | | rdar://11353109 llvm-svn: 156145
* Add a SuperRegClassIterator class.Jakob Stoklund Olesen2012-05-042-15/+69
| | | | | | | | This iterator class provides a more abstract interface to the (Idx, Mask) lists of super-registers for a register class. The layout of the tables shouldn't be exposed to clients. llvm-svn: 156144
* remove completed itemsNick Kledzik2012-05-041-8/+0
| | | | llvm-svn: 156143
* [libclang] Bring back BodyIndexer::TraverseCXXOperatorCallExpr whichArgyrios Kyrtzidis2012-05-041-0/+6
| | | | | | | was removed in r155969 to address a deficiency of RecursiveASTVisitor prior to recent changes on it. llvm-svn: 156142
* Make RecursiveASTVisitor fully data recursive on Stmts, withArgyrios Kyrtzidis2012-05-041-143/+93
| | | | | | | | | | | | | | | | | | | | minimal disruption on its clients. Unlike the previous data-recursive scheme, Traverse*Stmt methods are always getting called. The base methods of RecursiveASTVisitor will enqueue the sub-statements instead of calling TraverseStmt on them. Clients that override a Traverse*Stmt method and call TraverseStmt will still function as function-recursive traversal; if a client wants to enqueue a sub-statement in its override method it can do it like this: [inside the override method] StmtQueueAction StmtQueue(*this); StmtQueue.queue(Stmt->getSubStmt()); Should address rdar://11179167. llvm-svn: 156141
* A pile of long over-due refactorings here. There are some very, *very*Chandler Carruth2012-05-045-50/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | minor behavior changes with this, but nothing I have seen evidence of in the wild or expect to be meaningful. The real goal is unifying our logic and simplifying the interfaces. A summary of the changes follows: - Make 'callIsSmall' actually accept a callsite so it can handle intrinsics, and simplify callers appropriately. - Nuke a completely bogus declaration of 'callIsSmall' that was still lurking in InlineCost.h... No idea how this got missed. - Teach the 'isInstructionFree' about the various more intelligent 'free' heuristics that got added to the inline cost analysis during review and testing. This mostly surrounds int->ptr and ptr->int casts. - Switch most of the interesting parts of the inline cost analysis that were essentially computing 'is this instruction free?' to use the code metrics routine instead. This way we won't keep duplicating logic. All of this is motivated by the desire to allow other passes to compute a roughly equivalent 'cost' metric for a particular basic block as the inline cost analysis. Sadly, re-using the same analysis for both is really messy because only the actual inline cost analysis is ever going to go to the contortions required for simplification, SROA analysis, etc. llvm-svn: 156140
* Rework how YAMLReader is layered on top of YAMLParser. Turn hand writtenNick Kledzik2012-05-0314-616/+1015
| | | | | | | | recursive descent functions into one table driven parser. Add proper error recovery and reporting. Add lots of test cases with semantics errors and verify error messages. llvm-svn: 156136
* [analyzer] Assume pointer escapes when a callback is passed insideAnna Zaks2012-05-033-3/+40
| | | | | | a struct. llvm-svn: 156135
* [analyzer] Allow pointers escape through calls containing callback args.Anna Zaks2012-05-0310-14/+151
| | | | | | | (Since we don't have a generic pointer escape callback, modify ExprEngineCallAndReturn as well as the malloc checker.) llvm-svn: 156134
* Fix non-deterministic iteration order when walking the specializationsChandler Carruth2012-05-034-21/+41
| | | | | | | | | | | | | of templates by using the newly introduce FoldingSetVector. This preserves insertion order for all iteration of specializations. I've also included a somewhat terrifying testcase that rapidly builds up a large number of functions. This is enough that any system with ASLR will have non-deterministic debug information generated for the test case without the fix here as the debug information is generated in part by walking these specializations. llvm-svn: 156133
* Add a test for r156092.Bob Wilson2012-05-032-1/+16
| | | | llvm-svn: 156132
* Add a FoldingSetVector datastructure which is analogous to a SetVector,Chandler Carruth2012-05-031-0/+105
| | | | | | | | | | but using a FoldingSet underneath and with a largely compatible interface to that of FoldingSet. This can be used anywhere a FoldingSet would be natural, but iteration order is significant. The initial intended use case is in Clang's template specialization lists to preserve instantiation order iteration. llvm-svn: 156131
* Address review comments from Roman Divacky.Michael J. Spencer2012-05-031-10/+8
| | | | llvm-svn: 156130
* Inline DenseMapInfo<clang::DeclarationName>::getHashValue() for a 0.4% ↵Douglas Gregor2012-05-032-7/+3
| | | | | | speedup on <rdar://problem/11004361> llvm-svn: 156129
* PR12729: Change 'llvm-objdump' to display the available targets.Pete Cooper2012-05-031-0/+3
| | | | | | Patch by Meador Inge. llvm-svn: 156128
* objc modern translator: fix up attribute for dynamic property in a category.Fariborz Jahanian2012-05-032-1/+11
| | | | | | // rdar://11095151 llvm-svn: 156127
* Split DeclarationName::getFETokenInfoAsVoid() into hot/cold paths andDouglas Gregor2012-05-034-9/+13
| | | | | | | (trivially) make DeclContext::lookup()'s const version inlinable. Good for 0.3% on <rdar://problem/11004361>. llvm-svn: 156126
* modern objc translator: support for default propertyFariborz Jahanian2012-05-032-15/+91
| | | | | | synthesis translation. // rdar://11374235 - wip. llvm-svn: 156125
* Remove accidentally added file.Jakob Stoklund Olesen2012-05-031-0/+0
| | | | llvm-svn: 156124
* Add support for full-width 128-bit integer literals.Stephen Canon2012-05-032-3/+25
| | | | llvm-svn: 156123
* Use a shared implementation of getMatchingSuperRegClass().Jakob Stoklund Olesen2012-05-033-37/+32
| | | | | | TargetRegisterClass now gives access to the necessary tables. llvm-svn: 156122
* Add TargetRegisterClass::getSuperRegIndices().Jakob Stoklund Olesen2012-05-032-4/+17
| | | | | | | | This is a pointer into one of the tables used by getMatchingSuperRegClass(). It makes it possible to use a shared implementation of that function. llvm-svn: 156121
* Emit SuperRegMasks as part of the existing SubClassMask arrays.Jakob Stoklund Olesen2012-05-032-102/+83
| | | | | | | | | The RC->getSubClassMask() pointer now points to a sequence of register class bit masks. The first bit mask is the normal sub-class mask. The following masks are super-reg class masks used by getMatchingSuperRegClass(). llvm-svn: 156120
* Fix issues with the ARM bl and blx thumb instructions and the J1 and J2 bitsKevin Enderby2012-05-036-44/+128
| | | | | | | | | for the assembler and disassembler. Which were not being set/read correctly for offsets greater than 22 bits in some cases. Changes to lib/Target/ARM/ARMAsmBackend.cpp from Gideon Myles! llvm-svn: 156118
* [driver - crash diagnostics] Convert the flags back to an array of strings ↵Chad Rosier2012-05-031-1/+13
| | | | | | | | | and use array_lengthof. Also, append the new filename with correct preprocessed suffix. Last part of rdar://11285725 llvm-svn: 156117
* In ProcessGDBRemote::DoConnectRemote(), if the remote system informedJason Molenda2012-05-032-5/+25
| | | | | | | | | | | | | | us of its architecture, use that to set the Target's arch if it doesn't already have one set. In Process::CompleteAttach(), if the Target has a valid arch make sure that the Platform we pick up is compatible with that arch; if not, find a Platform that is compatible. Don't let the the default platform override the Target's arch. <rdar://problem/11185420> llvm-svn: 156116
* Fix the following error when importing crashlog.py from a Python interactive ↵Johnny Chen2012-05-031-1/+1
| | | | | | | | session: AttributeError: 'module' object has no attribute 'debugger' llvm-svn: 156115
* Factor the logic for testing whether a basic block is viable for codeChandler Carruth2012-05-032-14/+29
| | | | | | | | | | | extraction into a public interface. Also clean it up and apply it more consistently such that we check for landing pads *anywhere* in the extracted code, not just in single-block extraction. This will be used to guide decisions in passes that are planning to eventually perform a round of code extraction. llvm-svn: 156114
* Use the standard values for the __cplusplus macro, even when in GNU mode. GCCRichard Smith2012-05-032-16/+21
| | | | | | | dropped its prior behavior of always defining __cplusplus to 1 in GNU mode in version 4.7. llvm-svn: 156113
* remove calls to calloc if the allocated memory is not used (it was already ↵Nuno Lopes2012-05-033-5/+5
| | | | | | | | being done for malloc) fix a few typos found by Chad in my previous commit llvm-svn: 156110
* Support for target dependent Hexagon VLIW packetizer.Sirish Pande2012-05-0318-93/+5036
| | | | | | This patch creates and optimizes packets as per Hexagon ISA rules. llvm-svn: 156109
* Add rudimentary CMake logic for detecting Graphviz.Ted Kremenek2012-05-032-1/+2
| | | | llvm-svn: 156108
* [PCH] When validating that the files coming from PCH did not change, alsoArgyrios Kyrtzidis2012-05-039-18/+124
| | | | | | | | | | | validate that we didn't override the contents of any of such files. If this is detected, emit a diagnostic error and recover gracefully by using the contents of the original file that the PCH was built from. Part of rdar://11305263 llvm-svn: 156107
* modern objc translator: used size_t in coupleFariborz Jahanian2012-05-0317-2/+31
| | | | | | of places. // rdar://11375908 llvm-svn: 156106
* Use array_lengthof instead of sizeof trickery.Chad Rosier2012-05-031-2/+1
| | | | llvm-svn: 156104
* Do not keep track of the set of visited Objective-C containers whenDouglas Gregor2012-05-031-7/+8
| | | | | | | | | performing the search for overridden methods. We very rarely see the same container twice, and in those rare cases we still have the fallback of the second SmallPtrSet to eliminate duplicates. Good for ~1.5% -fsyntax-only speedup on the code in <rdar://problem/11004361>. llvm-svn: 156103
* add support for calloc to objectsize loweringNuno Lopes2012-05-034-5/+88
| | | | llvm-svn: 156102
OpenPOWER on IntegriCloud