summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmaury Sechet <deadalnix@gmail.com>2016-02-16 07:33:23 +0000
committerAmaury Sechet <deadalnix@gmail.com>2016-02-16 07:33:23 +0000
commit6b16c2372cd66646852173e67268b661efebd4e3 (patch)
tree468f5af571797c8ccc51283d8ec6c8e6adbcc4c2
parent5a62f7e3994ef652a0d6db4b17c497bbcc77b578 (diff)
downloadbcm5719-llvm-6b16c2372cd66646852173e67268b661efebd4e3.tar.gz
bcm5719-llvm-6b16c2372cd66646852173e67268b661efebd4e3.zip
Do some refactoring in constant generation in the C API echo test. NFC
llvm-svn: 260941
-rw-r--r--llvm/tools/llvm-c-test/echo.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/llvm/tools/llvm-c-test/echo.cpp b/llvm/tools/llvm-c-test/echo.cpp
index 9dd9b105407..d13a51416f7 100644
--- a/llvm/tools/llvm-c-test/echo.cpp
+++ b/llvm/tools/llvm-c-test/echo.cpp
@@ -221,14 +221,12 @@ LLVMValueRef clone_constant(LLVMValueRef Cst, LLVMModuleRef M) {
const char *Name = LLVMGetValueName(Cst);
// Try function
- LLVMValueRef Dst = LLVMGetNamedFunction(M, Name);
- if (Dst != nullptr)
- return Dst;
+ if (LLVMIsAFunction(Cst))
+ return LLVMGetNamedFunction(M, Name);
// Try global variable
- Dst = LLVMGetNamedGlobal(M, Name);
- if (Dst != nullptr)
- return Dst;
+ if (LLVMIsAGlobalVariable(Cst))
+ return LLVMGetNamedGlobal(M, Name);
fprintf(stderr, "Could not find @%s\n", Name);
exit(-1);
@@ -243,8 +241,12 @@ LLVMValueRef clone_constant(LLVMValueRef Cst, LLVMModuleRef M) {
if (LLVMIsUndef(Cst))
return LLVMGetUndef(TypeCloner(M).Clone(Cst));
- // This kind of constant is not supported.
- report_fatal_error("Unsupported contant type");
+ // This kind of constant is not supported
+ if (!LLVMIsAConstantExpr(Cst))
+ report_fatal_error("Expected a constant expression");
+
+ // At this point, it must be a constant expression
+ report_fatal_error("ConstantExpression are not supported");
}
struct FunCloner {
OpenPOWER on IntegriCloud