SX Aurora VE uses an intermediate representation similar to VP as its MIR.
VE itself uses invidiual VL register as its own vector length register at
the hardware level. So, LLVM needs to insert load VL (LVL) instruction just
before vector instructions if the value of VL is changed. This LVLGen pass
generates LVL instructions for such purpose. Previously, a bug is pointed
out in D91416. This patch correct this bug and add a regression test.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Updates.
llvm/lib/Target/VE/LVLGen.cpp | ||
---|---|---|
55 | This is not a really better error message. I'll remove this assertion. Thanks. | |
75 | Will do. Thanks. | |
96 | That's truth. I'll remove comment. | |
102–106 | Probablly, need to be updated is much better I think. I was checking other implementations, and I noticed that I needed to check not only definesRegister but also modifiesRegister. |
getReg will assert this internally. Is this just to get a better error message?