diff options
Diffstat (limited to 'lib/Transforms/Utils/LowerInvoke.cpp')
| -rw-r--r-- | lib/Transforms/Utils/LowerInvoke.cpp | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/lib/Transforms/Utils/LowerInvoke.cpp b/lib/Transforms/Utils/LowerInvoke.cpp index ee84541e526d..c852d538b0d1 100644 --- a/lib/Transforms/Utils/LowerInvoke.cpp +++ b/lib/Transforms/Utils/LowerInvoke.cpp @@ -21,7 +21,7 @@  #include "llvm/IR/LLVMContext.h"  #include "llvm/IR/Module.h"  #include "llvm/Pass.h" -#include "llvm/Transforms/Scalar.h" +#include "llvm/Transforms/Utils.h"  using namespace llvm;  #define DEBUG_TYPE "lowerinvoke" @@ -48,10 +48,12 @@ static bool runImpl(Function &F) {    bool Changed = false;    for (BasicBlock &BB : F)      if (InvokeInst *II = dyn_cast<InvokeInst>(BB.getTerminator())) { -      SmallVector<Value *, 16> CallArgs(II->op_begin(), II->op_end() - 3); +      SmallVector<Value *, 16> CallArgs(II->arg_begin(), II->arg_end()); +      SmallVector<OperandBundleDef, 1> OpBundles; +      II->getOperandBundlesAsDefs(OpBundles);        // Insert a normal call instruction...        CallInst *NewCall = -          CallInst::Create(II->getCalledValue(), CallArgs, "", II); +          CallInst::Create(II->getCalledValue(), CallArgs, OpBundles, "", II);        NewCall->takeName(II);        NewCall->setCallingConv(II->getCallingConv());        NewCall->setAttributes(II->getAttributes()); | 
