summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove a blank line from the top.David Greene2011-07-291-1/+0
| | | | llvm-svn: 136511
* have the verifier catch gep's into opaque struct types. PR10473Chris Lattner2011-07-291-0/+4
| | | | llvm-svn: 136510
* ARM SRS instruction parsing, diassembly and encoding support.Jim Grosbach2011-07-295-27/+105
| | | | | | | | Fix the instruction encoding for operands. Refactor mode to use explicit instruction definitions per FIXME to be more consistent with loads/stores. Fix disassembler accordingly. Add tests. llvm-svn: 136509
* On mac, it seems the MC disassembler is actually using the targetinfoChandler Carruth2011-07-291-0/+2
| | | | | | | | for targets that don't have an MC-ized disassembler. I'm suspicious that this shouldn't actually be happening, but hoping to fix the CMake build on macs first, and investigate why second. llvm-svn: 136508
* Remove unneeded const_cast.Jakub Staszak2011-07-291-2/+2
| | | | llvm-svn: 136506
* ARM CPS mode immediate is 5 bits, not 4.Jim Grosbach2011-07-291-2/+2
| | | | llvm-svn: 136505
* Clear DbgValues in the end.Devang Patel2011-07-291-0/+1
| | | | llvm-svn: 136503
* Add more constantness in BranchProbabilityInfo.Jakub Staszak2011-07-292-16/+19
| | | | llvm-svn: 136502
* [AVX] Make DagInits UniqueDavid Greene2011-07-292-23/+50
| | | | | | Make sure DagInits are unique and created only once. llvm-svn: 136501
* [AVX] Make FieldInit UniqueDavid Greene2011-07-291-1/+9
| | | | | | Make sure FieldInits are unique and created only once. llvm-svn: 136500
* [AVX] Make VarListElementInit UniqueDavid Greene2011-07-291-1/+10
| | | | | | Make sure VarListElementInits are unique and created only once. llvm-svn: 136499
* [AVX] Make VarBitInit UniqueDavid Greene2011-07-291-1/+10
| | | | | | Make sure VarBitInits are unique and created only once. llvm-svn: 136498
* [AVX] Make VarInit UniqueDavid Greene2011-07-291-1/+9
| | | | | | Make sure VarInits are unique and created only once. llvm-svn: 136497
* [AVX] Make TernOpInit UniqueDavid Greene2011-07-291-1/+20
| | | | | | | | Make sure TernOpInits are unique and created only once. This will be important for AVX/SIMD as many operators will be used to generate patterns and other relevant data. llvm-svn: 136496
* [AVX] Make BinOpInit UniqueDavid Greene2011-07-291-1/+14
| | | | | | | | Make sure BinOpInits are unique and created only once. This will be important for AVX/SIMD as many operators will be used to generate patterns and other relevant data. llvm-svn: 136495
* [AVX] Make UnOpInit UniqueDavid Greene2011-07-291-1/+10
| | | | | | | | Make sure UnOpInits are unique and created only once. This will be important for AVX/SIMD as many operators will be used to generate patterns and other relevant data. llvm-svn: 136494
* [AVX] Make ListInits UniqueDavid Greene2011-07-292-6/+41
| | | | | | | | | Ensure ListInits are unique and only created once. This will be important for AVX as lists will be used extensively to pass generic patterns, prefix information and other things to lower-level pattern-generation classes. llvm-svn: 136493
* [AVX] Make CodeInit UniqueDavid Greene2011-07-291-1/+6
| | | | | | | Use a StringMap to ensure CodeInits are unique and created only once. llvm-svn: 136492
* [AVX] Make StringInit UniqueDavid Greene2011-07-291-1/+7
| | | | | | | | Use a StringMap to ensure the StringInits are unique. This is especially important for AVX where we will have many smallish strings representing instruction prefixes, suffixes and the like. llvm-svn: 136491
* [AVX] Make IntInit UniqueDavid Greene2011-07-291-1/+6
| | | | | | Use a DenseMap to make sure only one IntInit of any value exists. llvm-svn: 136490
* [AVX] Make BitsInit UniqueDavid Greene2011-07-292-4/+35
| | | | | | Make BitsInit a FoldingSetNode so we can unique it. llvm-svn: 136489
* [AVX] Unique BitInitDavid Greene2011-07-291-1/+5
| | | | | | Keep only two copies of BitInit: one for true and one for false. llvm-svn: 136488
* [AVX] Unique UnsetInitDavid Greene2011-07-291-1/+2
| | | | | | Keep only one UnsetInit around. llvm-svn: 136487
* [AVX] Create Inits Via Factory MethodDavid Greene2011-07-296-141/+346
| | | | | | | Replace uses of new *Init with *Init::get. This hides the allocation implementation so that we can unique Inits in various ways. llvm-svn: 136486
* [AVX] Constify InitsDavid Greene2011-07-2930-848/+879
| | | | | | | Make references to Inits const everywhere. This is the final step before making them unique. llvm-svn: 136485
* [AVX] Remove non-const IteratorsDavid Greene2011-07-293-14/+13
| | | | | | | | Remove all non-const iterators from Init classes. This is another step toward constifying Inits and ultimately turning them into FoldingSetNodes. llvm-svn: 136484
* [AVX] Remove Mutating Members from InitsDavid Greene2011-07-294-74/+68
| | | | | | | Get rid of all Init members that modify internal state. This is in preparation for making references to Inits const. llvm-svn: 136483
* Add ListInit::getValuesDavid Greene2011-07-291-0/+3
| | | | | | | Add a getValues ListInit method to return the sequence of values in the list. llvm-svn: 136482
* Add a std::string Wrapper for TableGenDavid Greene2011-07-292-0/+47
| | | | | | | | | Create a std::string wrapper for use as a DenseMap key. DenseMap is not safe in generate with strings, so this wrapper indicates that only strings guaranteed not to have certain values should be used in the DenseMap. llvm-svn: 136481
* Clean up debug info after reassociation.Devang Patel2011-07-292-1/+59
| | | | llvm-svn: 136480
* ARM assembly parsing and encoding for RFE instruction.Jim Grosbach2011-07-294-13/+104
| | | | | | | | | | | Fill in the missing fixed bits and the register operand bits of the instruction encoding. Refactor the definition to make the mode explicit, which is consistent with how loads and stores are normally represented and makes parsing much easier. Add parsing aliases for pseudo-instruction variants. Update the disassembler for the new representations. Add tests for parsing and encoding. llvm-svn: 136479
* Third time's the charm for implementing tied operand decoding properly.Owen Anderson2011-07-291-6/+6
| | | | llvm-svn: 136478
* Don't look at $PWD in GetCurrentDirectory.Nick Lewycky2011-07-291-3/+0
| | | | llvm-svn: 136477
* ARM SRS and RFE instructions are not code-gen only.Jim Grosbach2011-07-291-12/+7
| | | | llvm-svn: 136475
* ARM range checking for mode on CPS instruction.Jim Grosbach2011-07-291-2/+2
| | | | llvm-svn: 136473
* ARM update tests for CPS instruction.Jim Grosbach2011-07-292-9/+13
| | | | llvm-svn: 136472
* Update FIXME.Jim Grosbach2011-07-291-5/+2
| | | | llvm-svn: 136470
* Tweak comment.Jim Grosbach2011-07-291-1/+1
| | | | llvm-svn: 136468
* Fix a case where, when trying to track tied operands, we'd accidentally ↵Owen Anderson2011-07-291-3/+3
| | | | | | overwrite our mapping. llvm-svn: 136467
* Switch the CMake edis build over to add_llvm_library_dependenciesDouglas Gregor2011-07-291-3/+8
| | | | llvm-svn: 136463
* Avoid undefined behaviour if somehow NUM_GRAPHS equals 2^32 (orDuncan Sands2011-07-291-10/+6
| | | | | | | whatever the size of unsigned is), though this can't actually occur for any integer value of NUM_NODES. llvm-svn: 136460
* Teach Path::GetCurrentDirectory to use $PWD, to support users who like to doNick Lewycky2011-07-291-2/+5
| | | | | | | | | | | | screwy things by setting PWD != getcwd(). For example, some developers I know will use this to control the value in gcc's DW_AT_comp_dir value in debug output. With this patch, that trick will now work on clang too. The only other effect of this change is that the static analysis will now respect $PWD when reporting the directory of the files in its HTML output. I think that's fine. llvm-svn: 136459
* Fix a lot of typos, improve (but not necessarily fix) grammaros and reflow someNick Lewycky2011-07-292-24/+22
| | | | | | lines. No functionality change. llvm-svn: 136458
* Misc optimizer+codegen work for 'cmpxchg' and 'atomicrmw'. They appear to beEli Friedman2011-07-2911-41/+263
| | | | | | | | | working on x86 (at least for trivial testcases); other architectures will need more work so that they actually emit the appropriate instructions for orderings stricter than 'monotonic'. (As far as I can tell, the ARM, PPC, Mips, and Alpha backends need such changes.) llvm-svn: 136457
* Remove incEdgeWeight and decEdgeWeight. Set edge weight directly to avoidJakub Staszak2011-07-291-30/+35
| | | | | | rounding errors. llvm-svn: 136456
* Fix the MCDisassembler dependencies. These were just absurdly wrong.Chandler Carruth2011-07-291-34/+7
| | | | | | | | | | | | First off, only depend on the actual MC-ized disassemblers in the targets, not all of the libraries those in turn depend on. Second off, only depend on those MC-ized disassemblers for targets we're building. This should fix builds of fewer than all targets. llvm-svn: 136455
* Fix two tests that I crashed in the previous commits. The mask eltsBruno Cardoso Lopes2011-07-292-6/+18
| | | | | | on the second half must be reindexed. llvm-svn: 136454
* Match VPERMIL masks more strictly and update the target specific maskBruno Cardoso Lopes2011-07-292-7/+27
| | | | | | generation to always catch the weird cases. llvm-svn: 136453
* Add DecodeShuffle shuffle support for VPERMIPD variantesBruno Cardoso Lopes2011-07-294-29/+60
| | | | llvm-svn: 136452
* Add v8i32 and v4i64 vpermil patternsBruno Cardoso Lopes2011-07-292-0/+17
| | | | llvm-svn: 136451
OpenPOWER on IntegriCloud