This use is already attached to the BUNDLE instruction but is lost after finalisation, which makes tracking use-def difficult after that.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
I would agree that IT uses CPSR.
llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-mov.mir | ||
---|---|---|
40 | Is this intended? |
llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-mov.mir | ||
---|---|---|
40 | Bah - no! cheers! |
Comment Actions
LGTM
llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-mov.mir | ||
---|---|---|
50 | The check lines still don't have the CPSR. Maybe regenerate before committing to keep the checks up-to-date. |
Comment Actions
This doesn't look correct to me - the IT instruction writes to CPSR (which we represent as ITSTATE), but it doesn't read anything from it.
Comment Actions
The reference manual, at least the v7m anyway, states 'IT does not affect the condition code flags', and I believe the backend only considers the cpsr for condition codes. I understood that the itstate is then representing the masking that the IT provides.
Is this intended?