summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/SubtargetEmitter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add two newlines in ParseSubtargetFeatures's debug output after the CPU is ↵Hal Finkel2012-06-121-1/+1
| | | | | | | | | printed. There is otherwise not a newline between the CPU name and the start of the next pass's output which makes both difficult to read. llvm-svn: 158350
* Write llvm-tblgen backends as functions instead of sub-classes.Jakob Stoklund Olesen2012-06-111-3/+58
| | | | | | | | | The TableGenBackend base class doesn't do much, and will be removed completely soon. Patch by Sean Silva! llvm-svn: 158311
* Sched itinerary fix: Avoid static initializers.Andrew Trick2012-06-081-2/+1
| | | | | | | | This fixes an accidental dependence on static initialization order that I introduced yesterday. Thank you Lang!!! llvm-svn: 158215
* misched: Added MultiIssueItineraries.Andrew Trick2012-06-051-1/+31
| | | | | | | | This allows a subtarget to explicitly specify the issue width and other properties without providing pipeline stage details for every instruction. llvm-svn: 157979
* Don't use enums larger than 1 << 31 for target features.Jakob Stoklund Olesen2012-01-031-16/+29
| | | | | | Patch by Andy Zhang! llvm-svn: 147491
* use space star instead of star spaceSebastian Pop2011-12-061-1/+1
| | | | llvm-svn: 145944
* Add a deterministic finite automaton based packetizer for VLIW architecturesAnshuman Dasgupta2011-12-011-0/+4
| | | | llvm-svn: 145629
* Move various generated tables into read-only memory, fixing up const ↵Benjamin Kramer2011-10-221-15/+18
| | | | | | correctness along the way. llvm-svn: 142726
* Move TableGen's parser and entry point into a libraryPeter Collingbourne2011-10-011-1/+1
| | | | | | This is the first step towards splitting LLVM and Clang's tblgen executables. llvm-svn: 140951
* Eliminate "const" from extern const to fix breakeage since r135184 on msvc.NAKAMURA Takumi2011-07-151-6/+6
| | | | | | MSVC decorates (and distinguishes) "const" in mangler. It brought linkage error between "extern const" declarations and definitions. llvm-svn: 135269
* Next round of MC refactoring. This patch factor MC table instantiations, MCEvan Cheng2011-07-141-15/+27
| | | | | | registeration and creation code into XXXMCDesc libraries. llvm-svn: 135184
* - Eliminate MCCodeEmitter's dependency on TargetMachine. It now uses MCInstrInfoEvan Cheng2011-07-111-3/+4
| | | | | | | | | | | | and MCSubtargetInfo. - Added methods to update subtarget features (used when targets automatically detect subtarget features or switch modes). - Teach X86Subtarget to update MCSubtargetInfo features bits since the MCSubtargetInfo layer can be shared with other modules. - These fixes .code 16 / .code 32 support since mode switch is updated in MCSubtargetInfo so MC code emitter can do the right thing. llvm-svn: 134884
* Eliminate asm parser's dependency on TargetMachine:Evan Cheng2011-07-081-2/+8
| | | | | | | | | | - Each target asm parser now creates its own MCSubtatgetInfo (if needed). - Changed AssemblerPredicate to take subtarget features which tablegen uses to generate asm matcher subtarget feature queries. e.g. "ModeThumb,FeatureThumb2" is translated to "(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0". llvm-svn: 134678
* Compute feature bits at time of MCSubtargetInfo initialization.Evan Cheng2011-07-071-14/+13
| | | | llvm-svn: 134606
* Rename TargetSubtarget to TargetSubtargetInfo for consistency.Evan Cheng2011-07-011-3/+3
| | | | llvm-svn: 134259
* - Added MCSubtargetInfo to capture subtarget features and schedulingEvan Cheng2011-07-011-68/+132
| | | | | | | | | itineraries. - Refactor TargetSubtarget to be based on MCSubtargetInfo. - Change tablegen generated subtarget info to initialize MCSubtargetInfo and hide more details from targets. llvm-svn: 134257
* Fix the ridiculous SubtargetFeatures API where it implicitly expects CPU name toEvan Cheng2011-06-301-6/+6
| | | | | | | | | | be the first encoded as the first feature. It then uses the CPU name to look up features / scheduling itineray even though clients know full well the CPU name being used to query these properties. The fix is to just have the clients explictly pass the CPU name! llvm-svn: 134127
* Sink SubtargetFeature and TargetInstrItineraries (renamed ↵Evan Cheng2011-06-291-2/+2
| | | | | | MCInstrItineraries) into MC. llvm-svn: 134049
* Increase SubtargetFeatureKV Value and Implies fields to 64 bits since some ↵Evan Cheng2011-04-151-6/+12
| | | | | | targets are getting very close to 32 subtarget features. Also teach tablegen to error when there are more than 64 features to guard against undefined behavior. rdar://9282332 llvm-svn: 129590
* Add annotations to tablegen-generated processor itineraries, or replace them ↵Andrew Trick2011-04-011-15/+19
| | | | | | with something meaningful. I want to be able to read and debug the generated tables. llvm-svn: 128703
* whitespaceAndrew Trick2011-04-011-65/+65
| | | | llvm-svn: 128701
* eliminate the Records global variable, patch by Garrison Venn!Chris Lattner2010-12-131-1/+1
| | | | llvm-svn: 121659
* Model Cortex-a9 load to SUB, RSB, ADD, ADC, SBC, RSC, CMN, MVN, or CMPEvan Cheng2010-09-291-16/+21
| | | | | | pipeline forwarding path. llvm-svn: 115098
* Add support to model pipeline bypass / forwarding.Evan Cheng2010-09-281-1/+46
| | | | llvm-svn: 115005
* For each instruction itinerary class, specify the number of micro-ops eachEvan Cheng2010-09-091-18/+26
| | | | | | | | | | instruction in the class would be decoded to. Or zero if the number of uOPs must be determined dynamically. This will be used to determine the cost-effectiveness of predicating a micro-coded instruction. llvm-svn: 113513
* Make processor FUs unique for given itinerary. This extends the limit of 32Anton Korobeynikov2010-04-181-7/+28
| | | | | | | FU per CPU arch to 32 per intinerary allowing precise modelling of quite complex pipelines in the future. llvm-svn: 101754
* Initial support for different kinds of FU reservation.Anton Korobeynikov2010-04-071-3/+6
| | | | llvm-svn: 100645
* Have TableGen emit code that uses dbgs() rather than errs().David Greene2010-01-051-2/+2
| | | | llvm-svn: 92738
* Show command-line args and features passed into backend in debug output. ↵Sandeep Patel2009-11-111-0/+4
| | | | | | Approved by Evan Cheng. llvm-svn: 86797
* Make the end-of-itinerary mark explicit. Some cleanup.David Goodwin2009-09-241-5/+3
| | | | llvm-svn: 82709
* Extend the instruction itinerary model to include the ability to indicate ↵David Goodwin2009-08-171-39/+102
| | | | | | the def and use cycle for each operand. This additional information is optional, so existing itineraries do not need to be changed. llvm-svn: 79247
* Enhance the InstrStage object to enable the specification of an Itinerary ↵David Goodwin2009-08-121-4/+7
| | | | | | with overlapping stages. The default is to maintain the current behavior that the "next" stage immediately follows the previous one. llvm-svn: 78827
* Replace std::iostreams with raw_ostream in TableGen.Daniel Dunbar2009-07-031-10/+10
| | | | | | | | - Sorry, I can't help myself. - No intended functionality change. llvm-svn: 74742
* Propagate CPU string out of SubtargetFeaturesAnton Korobeynikov2009-05-231-4/+5
| | | | llvm-svn: 72335
* fix a few spelling errors and typosJim Grosbach2009-03-261-1/+1
| | | | llvm-svn: 67758
* lib/Target/SubtargetFeature.cpp asserts that the FeatureKV[] table be sorted Jim Grosbach2008-09-111-1/+1
| | | | | | | | | | | by its first field, but TableGen doesn't actually enforce creating it that way. TableGen sorts the records that will be used to create it by the names of the records, not the Name field of those records. This patch corrects the sort to use the "Name" field of the record as the sort key. llvm-svn: 56106
* Stabilize 'getDwarfRegNumFull' output to not depend on random memory Chris Lattner2008-08-261-18/+0
| | | | | | orders, part of PR2590 llvm-svn: 55359
* Fix generation of multi-stage instruction itineraries. Patch byChris Lattner2008-04-061-2/+5
| | | | | | giuma.cordes@gmail.com llvm-svn: 49276
* A quick nm audit turned up several fixed tables and objects that wereDan Gohman2008-03-251-3/+3
| | | | | | | marked read-write. Use const so that they can be allocated in a read-only segment. llvm-svn: 48800
* Rewrite tblgen handling of subtarget features soDale Johannesen2008-02-141-2/+6
| | | | | | | | | | it follows the order of the enum, not alphabetical. The motivation is to make -mattr=+ssse3,+sse41 select SSE41 as it ought to. Added "ignored" enum values of 0 to PPC and SPU to avoid compiler warnings. llvm-svn: 47143
* remove attributions from utils.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45419
* Add an "implies" field to features. This indicates that, if the currentBill Wendling2007-05-041-46/+54
| | | | | | | | feature is set, then the features in the implied list should be set also. The opposite is also enforced: if a feature in the implied list isn't set, then the feature that owns that implies list shouldn't be set either. llvm-svn: 36756
* Fix generation of certain scheduler itineraries.Christopher Lamb2007-04-221-1/+2
| | | | llvm-svn: 36338
* Ignore entries with blank names.Jim Laskey2006-12-121-2/+4
| | | | llvm-svn: 32491
* Rollback changes to take a different tack.Jim Laskey2006-12-121-1/+0
| | | | llvm-svn: 32488
* Honor the command line specification for machine type.Jim Laskey2006-12-121-0/+1
| | | | llvm-svn: 32483
* Don't write out variables that are never used.Reid Spencer2006-11-031-3/+0
| | | | llvm-svn: 31396
* For PR786:Reid Spencer2006-11-021-1/+0
| | | | | | Remove unused variables. llvm-svn: 31381
* Don't make zero-sized static arraysChris Lattner2006-05-241-1/+1
| | | | llvm-svn: 28448
* remove out of date commentChris Lattner2006-03-031-2/+1
| | | | llvm-svn: 26492
OpenPOWER on IntegriCloud