[patchpoint] Add support for symbolic patchpoint targets to SelectionDAG and the

X86 backend.

The code generated for symbolic targets is identical to the code generated for
constant targets, except that a relocation is emitted to fix up the actual
target address at link-time. This allows IR and object files containing
patchpoints to be cached across JIT-invocations where the target address may
change.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235483 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Lang Hames
2015-04-22 06:02:31 +00:00
parent 3aaf26d335
commit a1c0ce8518
6 changed files with 80 additions and 26 deletions

View File

@@ -58,6 +58,12 @@ public:
return *this;
}
/// \brief Add an operand.
MCInstBuilder &addOperand(const MCOperand &Op) {
Inst.addOperand(Op);
return *this;
}
operator MCInst&() {
return Inst;
}