HomePhabricator

Improve __builtin_constant_p lowering

Description

Improve __builtin_constant_p lowering

__builtin_constant_p used to be short-cut evaluated to false when
building with -O0. This is undesirable as it means that constant folding
in the front-end can give different results than folding in the back-end.
It can also create conditional branches on constant conditions that don't
get folded away. With the pending improvements to the llvm.is.constant
handling on the LLVM side, the short-cut is no longer useful.

Adjust various codegen tests to not depend on the short-cut or the
backend optimisations.

Differential Revision: https://reviews.llvm.org/D67638

Details

Committed
joergOct 13 2019, 3:33 PM
Differential Revision
D67638: Improve __builtin_constant_p lowering
Parents
rL374741: merge-request.sh: Update 9.0 metabug for 9.0.1
Branches
Unknown
Tags
Unknown