This patch forms part of the ARMv8-M Baseline/Mainline support, adding support for ARMv8-M security extension instructions in ARMv8-M Baseline/Mainline.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
Some minor points here, though again I'm having to trust you on matching the specification.
Cheers.
Tim.
lib/Target/ARM/ARMInstrThumb2.td | ||
---|---|---|
4342–4345 | Does this need hasSideEffects or similar? Otherwise (with no inputs or outputs) if it ever gets to CodeGen the compiler is going to nuke it out of hand. | |
lib/Target/ARM/ARMInstrVFP.td | ||
207 | These look unrelated to the security extensions. Probably also need mayLoad/mayStore. | |
test/MC/ARM/thumbv8m.s | ||
168 | Written like this, it becomes just a count of "invalid operand for instruction" errors. It's easier to track down future regressions if the problematic input line gets checked too (as in other error tests). |
lib/Target/ARM/ARMInstrVFP.td | ||
---|---|---|
207 | These are infact part of the security extensions, they are used for loading/storing floating point state to the specified register, however you are correct about the missing mayLoad/mayStore. |
lib/Target/ARM/ARMInstrVFP.td | ||
---|---|---|
207 | So don't they need to be marked Has8MSecExt too? |
lib/Target/ARM/ARMInstrVFP.td | ||
---|---|---|
207 | Sorry yes, I missed this. |
Does this need hasSideEffects or similar? Otherwise (with no inputs or outputs) if it ever gets to CodeGen the compiler is going to nuke it out of hand.