diff options
| author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-04-05 03:10:20 +0000 |
|---|---|---|
| committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-04-05 03:10:20 +0000 |
| commit | fddb7667ca4d8fe83f96b388295849281ddaa5b4 (patch) | |
| tree | fdfe17e6a728d6560f0217760d6e3dd80ca924ed /utils/TableGen/Record.cpp | |
| parent | ba79d72eab446e64d360e8263d77732b5e13d556 (diff) | |
Replace TSFlagsFields and TSFlagsShifts with a simpler TSFlags field.
When a target instruction wants to set target-specific flags, it should simply
set bits in the TSFlags bit vector defined in the Instruction TableGen class.
This works well because TableGen resolves member references late:
class I : Instruction {
AddrMode AM = AddrModeNone;
let TSFlags{3-0} = AM.Value;
}
let AM = AddrMode4 in
def ADD : I;
TSFlags gets the expected bits from AddrMode4 in this example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100384 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/Record.cpp')
| -rw-r--r-- | utils/TableGen/Record.cpp | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/utils/TableGen/Record.cpp b/utils/TableGen/Record.cpp index 55c998926c..4f9f6045c1 100644 --- a/utils/TableGen/Record.cpp +++ b/utils/TableGen/Record.cpp @@ -1307,17 +1307,6 @@ void Record::resolveReferencesTo(const RecordVal *RV) { } } -RecordVal *Record::getDottedValue(StringRef Name) { - size_t pos = Name.find('.'); - if (pos == StringRef::npos) - return getValue(Name); - RecordVal *RV = getValue(Name.substr(0, pos)); - if (!RV) return 0; - DefInit *DI = dynamic_cast<DefInit*>(RV->getValue()); - if (!DI) return 0; - return DI->getDef()->getDottedValue(Name.substr(pos+1)); -} - void Record::dump() const { errs() << *this; } raw_ostream &llvm::operator<<(raw_ostream &OS, const Record &R) { |
