summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* revert r135172 until Devang and I figure out the right answer.Chris Lattner2011-07-141-3/+2
| | | | llvm-svn: 135191
* ARM MCR/MCR2 assembly parsing operand constraints.Jim Grosbach2011-07-145-12/+36
| | | | | | | The immediate operands are restricted to 0-7. Enforce that when parsing assembly. llvm-svn: 135189
* After type-system-rewrite branch update the Cpp backend to not use OpaqueType.Nicolas Geoffray2011-07-141-103/+46
| | | | llvm-svn: 135186
* Enable some tests we now handle correctly.Jim Grosbach2011-07-141-18/+9
| | | | llvm-svn: 135185
* Next round of MC refactoring. This patch factor MC table instantiations, MCEvan Cheng2011-07-14134-495/+1285
| | | | | | registeration and creation code into XXXMCDesc libraries. llvm-svn: 135184
* simplify this logic now that GlobalAlias::isDeclaration is fixed.Chris Lattner2011-07-141-4/+2
| | | | llvm-svn: 135183
* Fix GlobalValue::isDeclaration() to always consider aliases to be definitions.Chris Lattner2011-07-141-3/+2
| | | | llvm-svn: 135182
* Check register class matching instead of width of type matchingEric Christopher2011-07-144-10/+28
| | | | | | | | | when determining validity of matching constraint. Allow i1 types access to the GR8 reg class for x86. Fixes PR10352 and rdar://9777108 llvm-svn: 135180
* Reorganize ARM assembler aliases.Jim Grosbach2011-07-141-14/+19
| | | | | | | | Consolidate the individual declarations together for ease of reference. This mirrors the organization in X86, as well, so is good for consistency. No functional change. llvm-svn: 135179
* Add LLVMConstNamedStruct to the C api to let its users create constantsRafael Espindola2011-07-142-0/+13
| | | | | | of named struct types. llvm-svn: 135178
* DebugLoc's don't hide any interesting types for TypeFinder to find.Chris Lattner2011-07-141-1/+1
| | | | llvm-svn: 135174
* manually copy debugloc over to a new instruction in clone() insteadChris Lattner2011-07-141-1/+3
| | | | | | | of calling getAllMetadata(). This is semantically identical, but doing it this way avoids unpacking the DebugLoc. llvm-svn: 135173
* Stop the ValueMapper from calling getAllMetadata, which unpacks DebugLoc intoChris Lattner2011-07-141-2/+3
| | | | | | | an MDNode. This saves a bunch of time and memory in the IR linker, e.g. when doing LTO of files with debug info. llvm-svn: 135172
* Add 256-bit load/store recognition and matching in several places.Bruno Cardoso Lopes2011-07-143-4/+98
| | | | llvm-svn: 135171
* Don't leak operands when putting them into a shift.Benjamin Kramer2011-07-141-1/+1
| | | | llvm-svn: 135169
* Update ARM Assembly of LDM/STM.Jim Grosbach2011-07-143-49/+66
| | | | | | | ldm/stm are the cannonical spellings for ldmia/stmia, so use them as such. Update the parsing/encoding tests accordingly. llvm-svn: 135168
* The key of a StringMap can contain nul's in it, so having first() returnChris Lattner2011-07-142-4/+4
| | | | | | const char* doesn't make sense. Have it return StringRef instead. llvm-svn: 135167
* though it isn't the case here, the key of a StringMap canChris Lattner2011-07-141-2/+2
| | | | | | conceptually have nuls in it. llvm-svn: 135165
* add comments.Chris Lattner2011-07-141-1/+3
| | | | llvm-svn: 135164
* consolidate GlobalValue::isDeclaration into one Chris Lattner2011-07-145-26/+15
| | | | | | non-virtual function. llvm-svn: 135163
* ARM ISB assembly parsing tests.Jim Grosbach2011-07-142-2/+10
| | | | llvm-svn: 135158
* code cleanupChris Lattner2011-07-141-20/+15
| | | | llvm-svn: 135157
* ARM ISB instruction assembly parsing.Jim Grosbach2011-07-143-4/+8
| | | | | | | The ISB instruction takes an optional operand, just like DMB/DSB. Typically only 'sy' is meaningful. llvm-svn: 135156
* Change Intrinsic::getDeclaration and friends to take an ArrayRef.Benjamin Kramer2011-07-1412-29/+25
| | | | llvm-svn: 135154
* add a couple more missing C api, patch by Vitaly Lugovskiy!Chris Lattner2011-07-142-0/+11
| | | | llvm-svn: 135151
* Update XCoreRegisterInfo::eliminateFrameIndex() to handle DBG_VALUERichard Osborne2011-07-141-9/+17
| | | | | | instructions. llvm-svn: 135146
* Simplify some functions in the C API by using an ArrayRef to directly ↵Frits van Bommel2011-07-141-13/+3
| | | | | | reference the array passed to them instead of copying it to a std::vector. llvm-svn: 135145
* [VECTOR-SELECT]Nadav Rotem2011-07-143-3/+66
| | | | | | | | | | | During type legalization we often use the SIGN_EXTEND_INREG SDNode. When this SDNode is legalized during the LegalizeVector phase, it is scalarized because non-simple types are automatically marked to be expanded. In this patch we add support for lowering SIGN_EXTEND_INREG manually. This fixes CodeGen/X86/vec_sext.ll when running with the '-promote-elements' flag. llvm-svn: 135144
* Add assertion for the chain value typeNadav Rotem2011-07-141-0/+10
| | | | llvm-svn: 135143
* Mention all API changes I've made since 2.9 was branched.Jay Foad2011-07-141-3/+43
| | | | llvm-svn: 135142
* Add a testcase for r135123.Eric Christopher2011-07-141-0/+14
| | | | | | Part of rdar://9761830 llvm-svn: 135133
* add C api for hte new type system rewrite API. Patch by Vitaly Lugovskiy!Chris Lattner2011-07-142-1/+17
| | | | llvm-svn: 135132
* Unfortunately several files in MC are badly violating layering rule by usingEvan Cheng2011-07-1411-19/+29
| | | | | | | | | TargetAsmInfo, which in turn pulls in TargetRegisterInfo, etc. :-( There are other cases of violations, but this is probably the worst. This patch is but one small step towards fixing this. 500 more steps to go. :-( llvm-svn: 135131
* Reapply r135121 with a fixed copy constructor.Jakob Stoklund Olesen2011-07-143-11/+70
| | | | | | | | | | | | | | | | | | | | | Original commit message: Count references to interference cache entries. Each InterferenceCache::Cursor instance references a cache entry. A non-zero reference count guarantees that the entry won't be reused for a new register. This makes it possible to have multiple live cursors examining interference for different physregs. The total number of live cursors into a cache must be kept below InterferenceCache::getMaxCursors(). Code generation should be unaffected by this change, and it doesn't seem to affect the cache replacement strategy either. llvm-svn: 135130
* Simplify.Devang Patel2011-07-141-13/+3
| | | | llvm-svn: 135127
* Don't emit a bit test if there is only one case the test can yield false. A ↵Benjamin Kramer2011-07-143-10/+33
| | | | | | simple SETNE is sufficient. llvm-svn: 135126
* Simplify and delay extracting DebugLoc elements, scope and InlinedAt, as ↵Devang Patel2011-07-144-19/+34
| | | | | | much as possible. llvm-svn: 135124
* Add a dag combine pattern for folding C2-(A+C1) -> (C2-C1)-AEric Christopher2011-07-141-2/+10
| | | | | | Fixes rdar://9761830 llvm-svn: 135123
* Revert r135121 which broke a gcc-4.2 builder.Jakob Stoklund Olesen2011-07-143-70/+11
| | | | llvm-svn: 135122
* Count references to interference cache entries.Jakob Stoklund Olesen2011-07-143-11/+70
| | | | | | | | | | | | | | | | | Each InterferenceCache::Cursor instance references a cache entry. A non-zero reference count guarantees that the entry won't be reused for a new register. This makes it possible to have multiple live cursors examining interference for different physregs. The total number of live cursors into a cache must be kept below InterferenceCache::getMaxCursors(). Code generation should be unaffected by this change, and it doesn't seem to affect the cache replacement strategy either. llvm-svn: 135121
* Fix up assertion in r135018 so it doesn't trigger on 32-bit; when we're in ↵Eli Friedman2011-07-141-1/+2
| | | | | | 32-bit, it doesn't matter whether the operation overflows because the computed address is not wider than the immediate. llvm-svn: 135120
* ARM tests for EOR instruction parsing and encoding.Jim Grosbach2011-07-141-0/+57
| | | | llvm-svn: 135119
* Simplify. Compile unit check inside hasValidLocation() did not add any value.Devang Patel2011-07-141-26/+10
| | | | llvm-svn: 135118
* Remove duplicate tests.Jim Grosbach2011-07-141-24/+0
| | | | llvm-svn: 135117
* ARM Assembler support for DSB instruction.Jim Grosbach2011-07-142-0/+33
| | | | | | Add instalias for default 'sy' option. Add tests. llvm-svn: 135116
* Reapply r135074 and r135080 with a fix.Jakob Stoklund Olesen2011-07-142-28/+39
| | | | | | | | | | The cache entry referenced by the best split candidate could become clobbered by an unsuccessful candidate. The correct fix here is to use reference counts on the cache entries. Coming up. llvm-svn: 135113
* DMB instalias needs the same predicate as the instruction.Jim Grosbach2011-07-141-1/+1
| | | | llvm-svn: 135112
* Fix typo in DEBUG message.Devang Patel2011-07-141-2/+2
| | | | llvm-svn: 135111
* Add DEBUG messages.Devang Patel2011-07-141-0/+5
| | | | llvm-svn: 135110
* ARM Assembler support for DMB instruction.Jim Grosbach2011-07-134-24/+38
| | | | | | | | Flesh out the options supported for the instruction. Shuffle tests a bit and add entries for the rest of the options. Add an alias to handle the default operand of "sy". llvm-svn: 135109
OpenPOWER on IntegriCloud