[PATCH] D78183: [PowerPC] use instruction-level fast-math-flags to drive MachineCombiner

ChenZheng via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 15 02:08:47 PDT 2020


shchenz created this revision.
shchenz added reviewers: hfinkel, PowerPC.
Herald added subscribers: llvm-commits, steven.zhang, wuzish, kbarton, hiraditya, nemanjai.
Herald added a project: LLVM.

Currently, on PowerPC target, it uses function scope `UnsafeFPMath` option to drive Machine Combiner pass.

This is not accurate in two ways:
1: the scope is not accurate. Machine Combiner pass only requires instruction-level flags instead of the function scope.
2: the float point flag is not accurate. Machine Combiner pass only requires float point flags `reassoc` and `nsz`.

X86 already fixed this issue in https://reviews.llvm.org/D74851
This patch fixes same issue for PowerPC.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D78183

Files:
  llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
  llvm/lib/Target/PowerPC/PPCInstrInfo.h
  llvm/test/CodeGen/PowerPC/machine-combiner.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D78183.257625.patch
Type: text/x-patch
Size: 6956 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200415/bffb4168/attachment-0001.bin>


More information about the llvm-commits mailing list