FailedChanges

Summary

  1. Reapply r374743 with a fix for the ocaml binding (details)
Commit 9681ea9560a00038a29ed368dfa32104b0597b26 by joerg
Reapply r374743 with a fix for the ocaml binding
Add a pass to lower is.constant and objectsize intrinsics
This pass lowers is.constant and objectsize intrinsics not simplified by
earlier constant folding, i.e. if the object given is not constant or if
not using the optimized pass chain. The result is recursively simplified
and constant conditionals are pruned, so that dead blocks are removed
even for -O0. This allows inline asm blocks with operand constraints to
work all the time.
The new pass replaces the existing lowering in the codegen-prepare pass
and fallbacks in SDAG/GlobalISEL and FastISel. The latter now assert on
the intrinsics.
Differential Revision: https://reviews.llvm.org/D65280
llvm-svn: 374784
The file was modifiedllvm/include/llvm/Transforms/Scalar.h
The file was removedllvm/test/CodeGen/Generic/is-constant.ll
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-defaults.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/Transforms/Scalar/CMakeLists.txt
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/CodeGen/TargetPassConfig.cpp
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp
The file was removedllvm/test/Transforms/CodeGenPrepare/crash-on-large-allocas.ll
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedllvm/test/CodeGen/AArch64/O3-pipeline.ll
The file was addedllvm/test/Transforms/LowerConstantIntrinsics/constant-intrinsics.ll
The file was removedllvm/test/CodeGen/X86/object-size.ll
The file was modifiedllvm/bindings/ocaml/transforms/scalar_opts/scalar_opts_ocaml.c
The file was modifiedllvm/include/llvm-c/Transforms/Scalar.h
The file was modifiedllvm/include/llvm/LinkAllPasses.h
The file was addedllvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll
The file was removedllvm/test/Transforms/CodeGenPrepare/builtin-condition.ll
The file was removedllvm/test/CodeGen/X86/is-constant.ll
The file was modifiedllvm/test/Other/new-pm-defaults.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modifiedllvm/bindings/ocaml/transforms/scalar_opts/llvm_scalar_opts.mli
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/test/CodeGen/AArch64/O0-pipeline.ll
The file was removedllvm/test/Transforms/CodeGenPrepare/basic.ll
The file was modifiedllvm/test/CodeGen/X86/O3-pipeline.ll
The file was addedllvm/include/llvm/Transforms/Scalar/LowerConstantIntrinsics.h
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was addedllvm/test/Transforms/LowerConstantIntrinsics/crash-on-large-allocas.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
The file was modifiedllvm/bindings/ocaml/transforms/scalar_opts/llvm_scalar_opts.ml
The file was addedllvm/test/Transforms/LowerConstantIntrinsics/objectsize_basic.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp