[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