From 1c0fde61a683d4f10b1b4aafdd65b13a773736d0 Mon Sep 17 00:00:00 2001 From: Philip Reames Date: Fri, 24 Aug 2018 19:13:39 +0000 Subject: [PATCH] [AST] Simplify code minorly using pattern match [NFC] llvm-svn: 340638 --- llvm/lib/Transforms/Scalar/LICM.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/llvm/lib/Transforms/Scalar/LICM.cpp b/llvm/lib/Transforms/Scalar/LICM.cpp index a642d2e..94fcdaf 100644 --- a/llvm/lib/Transforms/Scalar/LICM.cpp +++ b/llvm/lib/Transforms/Scalar/LICM.cpp @@ -681,14 +681,10 @@ bool llvm::canSinkOrHoistInst(Instruction &I, AAResults *AA, DominatorTree *DT, if (CI->mayThrow()) return false; - if (Function *F = CI->getCalledFunction()) - switch (F->getIntrinsicID()) { - default: break; - // TODO: support invariant.start, and experimental.guard here - case Intrinsic::assume: - // Assumes don't actually alias anything or throw - return true; - }; + using namespace PatternMatch; + if (match(CI, m_Intrinsic())) + // Assumes don't actually alias anything or throw + return true; // Handle simple cases by querying alias analysis. FunctionModRefBehavior Behavior = AA->getModRefBehavior(CI); -- 2.7.4