Index: llvm/lib/IR/AbstractCallSite.cpp =================================================================== --- llvm/lib/IR/AbstractCallSite.cpp +++ llvm/lib/IR/AbstractCallSite.cpp @@ -48,7 +48,8 @@ auto *CBCalleeIdxAsCM = cast(OpMD->getOperand(0)); uint64_t CBCalleeIdx = cast(CBCalleeIdxAsCM->getValue())->getZExtValue(); - CBUses.push_back(ICS.arg_begin() + CBCalleeIdx); + if (CBCalleeIdx < ICS.arg_size()) + CBUses.push_back(ICS.arg_begin() + CBCalleeIdx); } } Index: llvm/test/Transforms/OpenMP/rtf_type_checking.ll =================================================================== --- llvm/test/Transforms/OpenMP/rtf_type_checking.ll +++ llvm/test/Transforms/OpenMP/rtf_type_checking.ll @@ -1,4 +1,5 @@ ; RUN: opt -S -openmpopt -stats < %s 2>&1 | FileCheck %s +; RUN: opt -S -attributor -attributor-disable=false -openmpopt -stats < %s 2>&1 | FileCheck %s ; REQUIRES: asserts target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"