[llvm-dev] Need help: How to turn off the constant folding optimization in llvm

Md. Syadus Sefat via llvm-dev llvm-dev at lists.llvm.org
Sun Jan 20 16:30:11 PST 2019

Hi, I am new to clang and llvm. I'm trying to generate an unoptimized
version of bit code from a c source code. I found that the generated bit
code is having the constant folding optimization which I don't want.
I'm using this command: clang -O0 -Xclang -disable-O0-optnone test1.c -S
-emit-llvm -o test1.ll

The test1.c file has the following code:
int test(){
int y;
y = 2 * 4;
return y;

The content of the test1.ll file:
[image: image.png]
Instead of generating an instruction for multiplying 2 and 4, it is
directly storing the value 8 by doing the constant folding operation.
store i32 8, i32* %1, align 4

It would be really nice if someone kindly let me know what I am missing and
how should I turn off the constant folding optimization.

Thank you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190120/bf25e20b/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 89245 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190120/bf25e20b/attachment-0001.png>

More information about the llvm-dev mailing list