diff options
author | Joerg Sonnenberger <joerg@bec.de> | 2016-05-09 14:36:16 +0000 |
---|---|---|
committer | Joerg Sonnenberger <joerg@bec.de> | 2016-05-09 14:36:16 +0000 |
commit | 8ffe7ab7c212f4b10c50a9ff500eb4757e43c701 (patch) | |
tree | dc3d1fc11c6ce79ad99606cf1eaf1646af3db2bb /llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp | |
parent | 5c20e27b7fcc8fad80f9c209f4d49c6995bd5cc2 (diff) | |
download | llvm-8ffe7ab7c212f4b10c50a9ff500eb4757e43c701.zip llvm-8ffe7ab7c212f4b10c50a9ff500eb4757e43c701.tar.gz llvm-8ffe7ab7c212f4b10c50a9ff500eb4757e43c701.tar.bz2 |
Optimize a printf with a double procent to putchar.
llvm-svn: 268922
Diffstat (limited to 'llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp index 42b3cef..d0fb0d32 100644 --- a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp +++ b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp @@ -1598,8 +1598,8 @@ Value *LibCallSimplifier::optimizePrintFString(CallInst *CI, IRBuilder<> &B) { if (!CI->use_empty()) return nullptr; - // printf("x") -> putchar('x'), even for '%'. - if (FormatStr.size() == 1) + // printf("x") -> putchar('x'), even for "%" and "%%". + if (FormatStr.size() == 1 || FormatStr == "%%") return emitPutChar(B.getInt32(FormatStr[0]), B, TLI); // printf("%s", "a") --> putchar('a') |