summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/SubtargetEmitter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* - 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
* Subtarget feature can now set any variable to any valueEvan Cheng2006-01-271-3/+4
| | | | llvm-svn: 25678
* There is at least a 'noitinerary' itinerary nowChris Lattner2006-01-271-1/+1
| | | | llvm-svn: 25671
* almost got the HP-UX tester up.. :)Duraid Madina2005-12-301-6/+6
| | | | llvm-svn: 25051
* 1. Remove ranges from itinerary data.Jim Laskey2005-11-031-9/+11
| | | | | | 2. Tidy up the subtarget emittined code. llvm-svn: 24172
* Allow itineraries to be passed through the Target Machine.Jim Laskey2005-11-011-12/+33
| | | | llvm-svn: 24139
* Generate cpu to itinerary map.Jim Laskey2005-10-311-7/+61
| | | | llvm-svn: 24121
* Rename Record::getValueAsListDef to getValueAsListOfDefs, to more accuratelyChris Lattner2005-10-281-4/+5
| | | | | | | reflect what it is. Convert some more code over to use it. llvm-svn: 24072
* Removed Mr. Smith from the code.Jim Laskey2005-10-281-160/+136
| | | | llvm-svn: 24070
* Add some commentary.Jim Laskey2005-10-281-19/+119
| | | | llvm-svn: 24055
* Keep Visual Studio happy.Jeff Cohen2005-10-281-0/+1
| | | | llvm-svn: 24052
* Now generating instruction itineraries for scheduling. Not my best work, but...Jim Laskey2005-10-271-31/+190
| | | | llvm-svn: 24050
* Simplify.Jim Laskey2005-10-261-6/+1
| | | | llvm-svn: 24015
* Give full control of subtarget features over to table generated code.Jim Laskey2005-10-261-14/+62
| | | | llvm-svn: 24013
* Refactored to make room for more stuff (scheduling info.)Jim Laskey2005-10-251-77/+97
| | | | llvm-svn: 23975
* Add the needed #include, emit enums with the sizes of tables, removeChris Lattner2005-10-231-9/+12
| | | | | | definitions from the LLVM namespace, since they are all static. llvm-svn: 23907
OpenPOWER on IntegriCloud