aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Analysis/AliasAnalysisTest.cpp
diff options
context:
space:
mode:
authorDaniel Berlin <dberlin@dberlin.org>2015-04-28 19:19:14 +0000
committerDaniel Berlin <dberlin@dberlin.org>2015-04-28 19:19:14 +0000
commitec1de3fb19d91426d6c812f47a3b1a59b19ee7f6 (patch)
tree49a880cdfd17b186cea4bd49ad9b051cc059d918 /llvm/unittests/Analysis/AliasAnalysisTest.cpp
parent163f672cd535fb21ea8bac2d38e699157fb2cf15 (diff)
downloadllvm-ec1de3fb19d91426d6c812f47a3b1a59b19ee7f6.zip
llvm-ec1de3fb19d91426d6c812f47a3b1a59b19ee7f6.tar.gz
llvm-ec1de3fb19d91426d6c812f47a3b1a59b19ee7f6.tar.bz2
Make getModRefInfo(Instruction *) not crash on certain types of instructions
llvm-svn: 236023
Diffstat (limited to 'llvm/unittests/Analysis/AliasAnalysisTest.cpp')
-rw-r--r--llvm/unittests/Analysis/AliasAnalysisTest.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/unittests/Analysis/AliasAnalysisTest.cpp b/llvm/unittests/Analysis/AliasAnalysisTest.cpp
index 1ba396c..66ed463 100644
--- a/llvm/unittests/Analysis/AliasAnalysisTest.cpp
+++ b/llvm/unittests/Analysis/AliasAnalysisTest.cpp
@@ -81,6 +81,13 @@ TEST_F(AliasAnalysisTest, getModRefInfo) {
auto *Store1 = new StoreInst(Value, Addr, BB);
auto *Load1 = new LoadInst(Addr, "load", BB);
auto *Add1 = BinaryOperator::CreateAdd(Value, Value, "add", BB);
+ auto *VAArg1 = new VAArgInst(Addr, PtrType, "vaarg", BB);
+ auto *CmpXChg1 = new AtomicCmpXchgInst(Addr, ConstantInt::get(IntType, 0),
+ ConstantInt::get(IntType, 1),
+ Monotonic, Monotonic, CrossThread, BB);
+ auto *AtomicRMW =
+ new AtomicRMWInst(AtomicRMWInst::Xchg, Addr, ConstantInt::get(IntType, 1),
+ Monotonic, CrossThread, BB);
ReturnInst::Create(C, nullptr, BB);
@@ -88,6 +95,9 @@ TEST_F(AliasAnalysisTest, getModRefInfo) {
CheckModRef(Store1, AliasAnalysis::ModRefResult::Mod);
CheckModRef(Load1, AliasAnalysis::ModRefResult::Ref);
CheckModRef(Add1, AliasAnalysis::ModRefResult::NoModRef);
+ CheckModRef(VAArg1, AliasAnalysis::ModRefResult::ModRef);
+ CheckModRef(CmpXChg1, AliasAnalysis::ModRefResult::ModRef);
+ CheckModRef(AtomicRMW, AliasAnalysis::ModRefResult::ModRef);
}
} // end anonymous namspace