[PATCH] D49103: Lower llvm.objectsize earlier in our optimization pipeline

George Burgess IV via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 29 18:55:54 PDT 2018


george.burgess.iv updated this revision to Diff 171626.
george.burgess.iv added a comment.

Rebase, and only run this in the non-prelink full-LTO pipeline

Apparently I misread the ThinLTO code, so we were fine with that. Full-LTO would lower these before linking, though, which is suboptimal.

There doesn't appear to be a full-LTO test-case (and I can't figure out how to flip PrepareForLTO without going through e.g. cfe), so making a test for this behavior on full-LTO seems a bit icky. Happy to try to add some cruft to do so if people want.


https://reviews.llvm.org/D49103

Files:
  include/llvm/InitializePasses.h
  include/llvm/LinkAllPasses.h
  include/llvm/Passes/PassBuilder.h
  include/llvm/Transforms/Scalar.h
  include/llvm/Transforms/Scalar/LowerBestEffortIntrinsics.h
  lib/CodeGen/CodeGenPrepare.cpp
  lib/Passes/PassBuilder.cpp
  lib/Passes/PassRegistry.def
  lib/Transforms/IPO/PassManagerBuilder.cpp
  lib/Transforms/Scalar/CMakeLists.txt
  lib/Transforms/Scalar/LowerBestEffortIntrinsics.cpp
  lib/Transforms/Scalar/Scalar.cpp
  test/Other/new-pm-defaults.ll
  test/Other/new-pm-thinlto-defaults.ll
  test/Other/opt-O2-pipeline.ll
  test/Other/opt-O3-pipeline.ll
  test/Other/opt-Os-pipeline.ll
  test/Other/opt-hot-cold-split.ll
  test/Transforms/LowerBestEffortIntrinsics/objectsize.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D49103.171626.patch
Type: text/x-patch
Size: 19366 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181030/a64ce7d6/attachment.bin>


More information about the llvm-commits mailing list