This allows us to remove the END_OF_TEXT_LABEL hack we had been using
and simplifies the fixups used to compute the address of constant
arrays.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
Can you use a bundle instead of creating a pseudo with a special pass required to expand it? I've started working on using bundles for soft clauses so the passes necessary for those will be run anyway
Expand pseudo instruction post-RA using bundles to avoid using a custom
expander pass.
I think you need to run a pass to finalize bundles somewhere to add the register uses/defs on the BUNDLE instruction and set internal-read flags, but I haven't yet figured out how this works. Things seem to mostly work if you don't do this, and I'm not sure why this doesn't trigger any verifier errors.
lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | ||
---|---|---|
339 ↗ | (On Diff #42194) | Oh, I missed this before. I think this might need to run earlier but I'm not sure |
I was unable to get this work. I kept getting
lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | ||
---|---|---|
339 ↗ | (On Diff #42194) | I'm not really sure either. I was a little concerned that having it earlier might break the existing passes which may be using the wrong type of instruction iterator for handling bundles. |
LGTM
lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp | ||
---|---|---|
116 ↗ | (On Diff #42240) | s/to/too/ and s/requres/requires/ |