I have a question about llvm's "Combine redundant instructions(instcombine)" pass.
I have tested instcombine pass by writing the following three test cases.
But, CASE3 is not optimized as I expected.
Is this behavior expected?
The version of llvm is:
clang version 5.0.1 (tags/RELEASE_501/final 325232)
Option of clang command is:
clang -O1 a.c -S -emit-llvm -o -
This case is optimized as I expected.