[opt] Directly translate -O# to -passes='default<O#>'
authorArthur Eubanks <aeubanks@google.com>
Mon, 18 Oct 2021 22:43:08 +0000 (15:43 -0700)
committerArthur Eubanks <aeubanks@google.com>
Mon, 18 Oct 2021 23:48:10 +0000 (16:48 -0700)
commit15fefcb9eb3a2b9080b44e3784608597666000ec
treecad7c1f7e561acb50eefd82ed5f1c69a21242659
parentcb5a10199b32b5e1104ed36a490be73fa3bdf5ca
[opt] Directly translate -O# to -passes='default<O#>'

Right now when we see -O# we add the corresponding 'default<O#>' into
the list of passes to run when translating legacy -pass-name. This has
the side effect of not using the default AA pipeline.

Instead, treat -O# as -passes='default<O#>', but don't allow any other
-passes or -pass-name. I think we can keep `opt -O#` as shorthand for
`opt -passes='default<O#>` but disallow anything more than just -O#.

Tests need to be updated to not use `opt -O# -pass-name`.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D112036
19 files changed:
llvm/test/CodeGen/AMDGPU/extra-sroa-after-unroll.ll
llvm/test/CodeGen/AMDGPU/r600.amdgpu-alias-analysis.ll
llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll
llvm/test/CodeGen/NVPTX/nvvm-reflect.ll
llvm/test/Instrumentation/MemorySanitizer/msan_llvm_launder_invariant.ll
llvm/test/Instrumentation/MemorySanitizer/msan_llvm_strip_invariant.ll
llvm/test/Other/opt-On.ll [new file with mode: 0644]
llvm/test/Transforms/GlobalOpt/long-compilation-global-sra.ll
llvm/test/Transforms/Inline/devirtualize-3.ll
llvm/test/Transforms/LoopVectorize/PowerPC/reg-usage.ll
llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-call.ll
llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
llvm/test/Transforms/LoopVectorize/X86/x86_fp80-vector-store.ll
llvm/test/Transforms/LoopVectorize/global_alias.ll
llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM3.ll
llvm/test/Transforms/LoopVersioningLICM/metadata.ll
llvm/test/Transforms/MergeFunc/mergefunc-preserve-debug-info.ll
llvm/tools/opt/opt.cpp