summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-01-26 00:08:45 +0000
committerChris Lattner <sabre@nondot.org>2006-01-26 00:08:45 +0000
commit41eb5cd9c34027bd5fd7eb4a3a27a6a10e331b8e (patch)
treed9888da8141dac0b1ba7c614059bbeb98cc68023 /llvm/lib
parent3ccaf6ecb0e68f375c5bde6d61814d3161c3a62c (diff)
downloadbcm5719-llvm-41eb5cd9c34027bd5fd7eb4a3a27a6a10e331b8e.tar.gz
bcm5719-llvm-41eb5cd9c34027bd5fd7eb4a3a27a6a10e331b8e.zip
Make sure the only user of InlineAsm's are direct calls.
llvm-svn: 25626
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/VMCore/Verifier.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/VMCore/Verifier.cpp b/llvm/lib/VMCore/Verifier.cpp
index 36462388b38..8113d5bbbcd 100644
--- a/llvm/lib/VMCore/Verifier.cpp
+++ b/llvm/lib/VMCore/Verifier.cpp
@@ -47,6 +47,7 @@
#include "llvm/Module.h"
#include "llvm/ModuleProvider.h"
#include "llvm/DerivedTypes.h"
+#include "llvm/InlineAsm.h"
#include "llvm/Instructions.h"
#include "llvm/Intrinsics.h"
#include "llvm/PassManager.h"
@@ -663,6 +664,9 @@ void Verifier::visitInstruction(Instruction &I) {
!EF->dominates(&BB->getParent()->getEntryBlock(), PredBB),
"Instruction does not dominate all uses!", Op, &I);
}
+ } else if (isa<InlineAsm>(I.getOperand(i))) {
+ Assert1(i == 0 && isa<CallInst>(I),
+ "Cannot take the address of an inline asm!", &I);
}
}
InstsInThisBlock.insert(&I);
OpenPOWER on IntegriCloud