Add support for Return Oriented Programming (ROP) protection for 32 bit.
This patch also adds a testing for AIX on both 64 and 32 bit.
Details
- Reviewers
nemanjai lei amyk - Group Reviewers
Restricted Project - Commits
- rG04496201e081: [PowerPC] Add support for ROP protection for 32 bit.
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/PowerPC/PPCInstrInfo.td | ||
---|---|---|
5548 | Just wanted to double check that isCodeGenOnly is intended for these, right? | |
llvm/test/CodeGen/PowerPC/ppc64-rop-protection-aix.ll | ||
278 | Would it be helpful to add a TODO to remove this comment when the next ABI revision is released? |
llvm/lib/Target/PowerPC/PPCInstrInfo.td | ||
---|---|---|
5548 | Sure. I can add that. | |
llvm/test/CodeGen/PowerPC/ppc64-rop-protection-aix.ll | ||
278 | Sure. That's a good idea. I will add that. |
llvm/lib/Target/PowerPC/PPCInstrInfo.td | ||
---|---|---|
5548 | I think Amy's question is why this one parts with the convention to make the 32-bit versions the real instructions and the 64-bit version the isCodeGenOnly instruction (along with being marked with Interpretation64Bit). And I think the question is perfectly reasonable. |
llvm/lib/Target/PowerPC/PPCInstrInfo.td | ||
---|---|---|
5548 | Oh I see what you mean. I'm sorry I think I misunderstood initially. There is no reason why I did it this way. I will switch the flags so that the isCodeGenOnly flag is on the 64 bit version. |
Added a TODO to the test file.
Moved the isCodeGenOnly to the 64 bit version.
Added the Interpretation64Bit flag to the 64 bit version.
Rebased this patch again as it was not rebased correctly the last time.
Should be ready for commit.
Just wanted to double check that isCodeGenOnly is intended for these, right?
I don't have a strong opinion either way but since they're not on the 64-bit version and since hasSideEffects is documented, it may not hurt to document why isCodeGenOnly is added here.