[PATCH] D52785: [PseudoSourceValue] New category to represent floating-point status

Ulrich Weigand via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 2 09:55:58 PDT 2018


uweigand created this revision.
uweigand added reviewers: hfinkel, arsenm, arphaman, craig.topper, spatel, bogner.
Herald added subscribers: llvm-commits, nhaehnle, wdng, jvesely.

As described in https://reviews.llvm.org/D45576, this patch creates a new PseudoSourceValue category intended to represent the target floating-point status, specifically the changes to global state that may be *caused* by the instruction, e.g. setting exception status bits or triggering a trap.

The idea is to model these aspects of global floating-point state as "memory" of a special type, even if it may be held in a special register on actual hardware, in order to avoid having to introduce a new type of dependency throughout LLVM.  Modeling as memory object should be OK to get the dependencies we need correct.

This class will be used with memory operands attached to strict floating-point instructions at the DAG and MI level.

Patch split off from https://reviews.llvm.org/D45576 to simplify review, but this patch on its own isn't really useful and will only be committed together with https://reviews.llvm.org/D45576 (assuming both are approved).


Repository:
  rL LLVM

https://reviews.llvm.org/D52785

Files:
  include/llvm/CodeGen/MachineMemOperand.h
  include/llvm/CodeGen/PseudoSourceValue.h
  lib/CodeGen/MIRParser/MILexer.cpp
  lib/CodeGen/MIRParser/MILexer.h
  lib/CodeGen/MIRParser/MIParser.cpp
  lib/CodeGen/MachineOperand.cpp
  lib/CodeGen/PseudoSourceValue.cpp
  lib/Target/AMDGPU/R600InstrInfo.cpp
  lib/Target/AMDGPU/SIInstrInfo.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52785.167960.patch
Type: text/x-patch
Size: 7602 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181002/e4cb302f/attachment.bin>


More information about the llvm-commits mailing list