[PATCH] D45150: Less conservative LoopSafetyInfo for headers

Piotr Padlewski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 1 13:55:53 PDT 2018


Prazek created this revision.
Prazek added reviewers: sanjoy, dberlin.

LoopSafetyInfo, which is used in LICM was very conservative - whenever
there was an instruction that could have throw it assumed that
none of the instructions in the header is guaranteed to execute.
With this patch we are able to hoist instructions based on the stronger
execution guarantee, and preserve metadata.


Repository:
  rL LLVM

https://reviews.llvm.org/D45150

Files:
  include/llvm/Analysis/MustExecute.h
  lib/Analysis/MustExecute.cpp
  test/Transforms/LICM/hoist-invariant-load.ll
  test/Transforms/LICM/preheader-safe.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45150.140594.patch
Type: text/x-patch
Size: 6567 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180401/af36358a/attachment.bin>


More information about the llvm-commits mailing list