Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
ELF/AArch64ErrataFix.cpp | ||
---|---|---|
438 ↗ | (On Diff #219220) | It is not a NFC change. This code now accepts $xfoo, what wasn't before. |
ELF/AArch64ErrataFix.cpp | ||
---|---|---|
438 ↗ | (On Diff #219220) | This is the question I asked in https://reviews.llvm.org/D67284#inline-604486 I'll probably remove NFC from the title. I actually mean this change doesn't intend to make any observable behavior changes, i.e. llvm only generates "$a" and "$t", not "$a." or "$xfoo". |
ELF/AArch64ErrataFix.cpp | ||
---|---|---|
438 ↗ | (On Diff #219220) | I see. I do not know the answer here, but all other changes LGTM. |
ELF/AArch64ErrataFix.cpp | ||
---|---|---|
438 ↗ | (On Diff #219220) | Strictly speaking $xfoo is not a mapping symbol. There is a very small chance of interpreting a user defined symbol as a mapping symbol. Probably unlikely in practice although I'd prefer to stick to the spec if it isn't too onerous to do so. Once init() has been passed and we've added only $x and $x. symbols to the map, we can then use startswith("$x") as all our symbols are in the form $x, $x.n, $d $d.n Looking at the spec below, one approach to simplify would be to use just the char 'x', 'd' or some int like 0 or 1 in the map as all we care about is whether the range of code is AArch64 or Data.
|
I'd prefer that we retained the strict semantics of mapping symbols, although there are other possible simplifications that could be made. Everything else looks fine.
Restore return b->getName() == "$x" || b->getName().startswith("$x.");
This change is strictly NFC now.