[PATCH] D65410: [PassManager] First Pass implementation at -O1 pass pipeline

Eric Christopher via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 7 16:46:47 PST 2019


echristo updated this revision to Diff 228338.
echristo marked an inline comment as done.
echristo added a comment.
Herald added subscribers: aheejin, sbc100, nhaehnle, jvesely.

I've gone ahead and enabled SROA here. In the testing I've done so far it's helped execute time quite a bit and compile time/object size as well. It'll be really good for use with the trivial auto var initialization option also. SROA is a bit of a worry right now for debugging, but it's an area that's been improved upon significantly and I'm not worried about it getting a lot better.

Future plans here are likely going to be moving it to a more separate pass pipeline so I can pull out things like superfluous instcombines etc while continuing to do incremental performance improvements. In addition, I'm going to do experiments with enabling fast-isel at O1 <https://reviews.llvm.org/owners/package/1/> so we can look at the compile time and performance impact of individual changes there - and hopefully some debugging analysis in the near term.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65410/new/

https://reviews.llvm.org/D65410

Files:
  clang/test/CodeGen/2008-07-30-implicit-initialization.c
  clang/test/CodeGen/arm-fp16-arguments.c
  clang/test/CodeGen/arm-vfp16-arguments2.cpp
  clang/test/CodeGen/atomic-ops-libcall.c
  clang/test/CodeGenCXX/atomicinit.cpp
  clang/test/CodeGenCXX/auto-var-init.cpp
  clang/test/CodeGenCXX/discard-name-values.cpp
  clang/test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp
  clang/test/CodeGenCXX/microsoft-abi-typeid.cpp
  clang/test/CodeGenCXX/nrvo.cpp
  clang/test/CodeGenCXX/stack-reuse.cpp
  clang/test/CodeGenCXX/wasm-args-returns.cpp
  clang/test/CodeGenObjCXX/arc-blocks.mm
  clang/test/CodeGenObjCXX/nrvo.mm
  clang/test/Lexer/minimize_source_to_dependency_directives_invalid_error.c
  clang/test/PCH/no-escaping-block-tail-calls.cpp
  llvm/include/llvm/Passes/PassBuilder.h
  llvm/lib/Passes/PassBuilder.cpp
  llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
  llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
  llvm/test/Feature/optnone-opt.ll
  llvm/test/Other/new-pm-defaults.ll
  llvm/test/Other/new-pm-thinlto-defaults.ll
  llvm/test/Transforms/MemCpyOpt/lifetime.ll
  llvm/test/Transforms/PhaseOrdering/simplifycfg-options.ll
  llvm/test/Transforms/PhaseOrdering/two-shifts-by-sext.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65410.228338.patch
Type: text/x-patch
Size: 91716 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20191108/49ab01b9/attachment-0001.bin>


More information about the cfe-commits mailing list