[PATCH] D92834: [IR,AArch64] Add a new "ptrauth(...)" Constant to represent signed pointers
Tim Northover via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 8 04:30:43 PST 2020
t.p.northover created this revision.
t.p.northover added a reviewer: ab.
Herald added subscribers: dexonsmith, jdoerfert, danielkiss, steven_wu, hiraditya, kristof.beyls, mcrosier.
Herald added a reviewer: deadalnix.
t.p.northover requested review of this revision.
Herald added a project: LLVM.
This is a largeish change so I'm posting it together with an RFC on llvm-dev, where we should probably talk about the design related aspects. I'll put a link here when I post it but one had to come first.
This adds IR support (essentially bitcode roundtripping) for a new kind of Constant to represent an ARMv8.3 signed pointer. Its main use is to represent the kinds of signed pointers that can be represented in the MachO binary format (used for vtables etc), so it folds in functionality from `@llvm.ptrauth.blend` and `@llvm.ptrauth.sign` and that has guided the fields present.
https://reviews.llvm.org/D92834
Files:
llvm/docs/LangRef.rst
llvm/include/llvm-c/Core.h
llvm/include/llvm/Bitcode/LLVMBitCodes.h
llvm/include/llvm/IR/AutoUpgrade.h
llvm/include/llvm/IR/Constants.h
llvm/include/llvm/IR/Value.def
llvm/lib/AsmParser/LLLexer.cpp
llvm/lib/AsmParser/LLParser.cpp
llvm/lib/AsmParser/LLToken.h
llvm/lib/Bitcode/Reader/BitcodeReader.cpp
llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
llvm/lib/IR/AsmWriter.cpp
llvm/lib/IR/AutoUpgrade.cpp
llvm/lib/IR/ConstantFold.cpp
llvm/lib/IR/Constants.cpp
llvm/lib/IR/ConstantsContext.h
llvm/lib/IR/LLVMContextImpl.h
llvm/lib/IR/Verifier.cpp
llvm/test/Assembler/invalid-ptrauth-const1.ll
llvm/test/Assembler/invalid-ptrauth-const2.ll
llvm/test/Assembler/invalid-ptrauth-const3.ll
llvm/test/Assembler/invalid-ptrauth-const4.ll
llvm/test/Assembler/invalid-ptrauth-const5.ll
llvm/test/Assembler/invalid-ptrauth-const6.ll
llvm/test/Assembler/ptrauth-const.ll
llvm/test/Bitcode/compatibility.ll
llvm/test/Bitcode/upgrade-ptrauth-global.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D92834.310136.patch
Type: text/x-patch
Size: 31947 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201208/741345d7/attachment.bin>
More information about the llvm-commits
mailing list