1 //===-- GuardUtils.cpp - Utils for work with guards -------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 // Utils that are used to perform analyzes related to guards and their
10 // conditions.
11 //===----------------------------------------------------------------------===//
12 
13 #include "llvm/Analysis/GuardUtils.h"
14 #include "llvm/IR/PatternMatch.h"
15 
16 using namespace llvm;
17 
isGuard(const User * U)18 bool llvm::isGuard(const User *U) {
19   using namespace llvm::PatternMatch;
20   return match(U, m_Intrinsic<Intrinsic::experimental_guard>());
21 }
22