This is a followup to https://github.com/llvm/llvm-project/pull/126745, generalizing it to always use TargetFolder, including inside function bodies. This avoids generating non-canonical constant expressions that can be folded away.
Multi-Level Intermediate Representation
See https://mlir.llvm.org/ for more information.