summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [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
* Renamed Loaded member to ImportedBy, as it's easier to read. Added another ↵Jonathan D. Turner2011-07-292-7/+15
| | | | | | set to represent the modules a module imports. llvm-svn: 136476
* 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
* Add a missing \endcode for DoxygenDouglas Gregor2011-07-291-0/+1
| | | | llvm-svn: 136469
* 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
* Remove some unnecessary single element array temporaries.Jay Foad2011-07-296-38/+20
| | | | llvm-svn: 136461
* 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
* Fix a bug while generating target specific VPERMIL masks: skipBruno Cardoso Lopes2011-07-291-4/+12
| | | | | | undef mask elements. This fixes PR10529. llvm-svn: 136450
* Enable usage of SSE4 extracts and inserts in their 128-bit AVX forms.Bruno Cardoso Lopes2011-07-291-39/+29
| | | | | | Also tidy up code a bit. llvm-svn: 136449
* Cleanup PALIGNR handling and remove the old palign pattern fragment.Bruno Cardoso Lopes2011-07-294-43/+23
| | | | | | | Also make PALIGNR masks to don't match 256-bits, which isn't supported It's also a step to solve PR10489 llvm-svn: 136448
* Make DiagnosticErrorTrap keep a count of the errors that occurred so multipleArgyrios Kyrtzidis2011-07-294-11/+40
| | | | | | | | DiagnosticErrorTraps can be composed (e.g. a trap inside another trap). Fixes http://llvm.org/PR10462 & rdar://9852007. llvm-svn: 136447
* Use the pointer type size.Bill Wendling2011-07-291-1/+1
| | | | | | With this, we can now compile a simple EH program. llvm-svn: 136446
* And now something that compiles...Bill Wendling2011-07-291-1/+1
| | | | llvm-svn: 136445
* Make sure to sext or trunc the result from the register.Bill Wendling2011-07-291-2/+2
| | | | llvm-svn: 136444
* This patch makes the string/character literal tests run in C,Douglas Gregor2011-07-296-40/+79
| | | | | | C++98/03, and C++0x mode, from Craig Topper! llvm-svn: 136443
* Remove unused debug functionDouglas Gregor2011-07-291-21/+0
| | | | llvm-svn: 136442
* In the ASTReader, replace the continuous range maps whose value typesDouglas Gregor2011-07-293-63/+67
| | | | | | | | | were (Module*, Offset) with equivalent maps whose value type is just a Module*. The offsets have moved into corresponding "Base" fields within the Module itself, where they will also be helpful for local->global translation (eventually). llvm-svn: 136441
OpenPOWER on IntegriCloud