diff options
author | Hal Finkel <hfinkel@anl.gov> | 2015-01-13 17:48:04 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2015-01-13 17:48:04 +0000 |
commit | 0ad96c818cc5fd086c820b3b15650222020f4ebf (patch) | |
tree | 034a706f82429c009f3e0fdc25832a41913a8919 /llvm/lib/CodeGen/SelectionDAG/FastISel.cpp | |
parent | df87f9383b6e13e9bdaf3fe5c6a7d914fcc7def6 (diff) | |
download | bcm5719-llvm-0ad96c818cc5fd086c820b3b15650222020f4ebf.tar.gz bcm5719-llvm-0ad96c818cc5fd086c820b3b15650222020f4ebf.zip |
[StackMaps] Mark in CallLoweringInfo when lowering a patchpoint
While, generally speaking, the process of lowering arguments for a patchpoint
is the same as lowering a regular indirect call, on some targets it may not be
exactly the same. Targets may not, for example, want to add additional register
dependencies that apply only to making cross-DSO calls through linker stubs,
may not want to load additional registers out of function descriptors, and may
not want to add additional side-effect-causing instructions that cannot be
removed later with the call itself being generated.
The PowerPC target will use this in a future commit (for all of the reasons
stated above).
llvm-svn: 225806
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/FastISel.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/FastISel.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp b/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp index 8facbc28e40..c87a0854db6 100644 --- a/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp @@ -728,6 +728,7 @@ bool FastISel::selectPatchpoint(const CallInst *I) { // For AnyRegCC the arguments are lowered later on manually. unsigned NumCallArgs = IsAnyRegCC ? 0 : NumArgs; CallLoweringInfo CLI; + CLI.setIsPatchPoint(); if (!lowerCallOperands(I, NumMetaOpers, NumCallArgs, Callee, IsAnyRegCC, CLI)) return false; |