summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2019-05-29 11:38:27 +0000
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2019-05-29 11:38:27 +0000
commit280ac1fd1dc35f1f7bce4d2b768fbcdb91f71097 (patch)
treed5f2cf7be58af2dcbb1055b162070d479c66b29d /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parenta6fb183c98943e90a9e35db78dae25bc79b8c66a (diff)
downloadbcm5719-llvm-280ac1fd1dc35f1f7bce4d2b768fbcdb91f71097.tar.gz
bcm5719-llvm-280ac1fd1dc35f1f7bce4d2b768fbcdb91f71097.zip
[MCA] Refactor class LSUnit. NFCI
This should be the last bit of refactoring in preparation for a patch that would finally fix PR37494. This patch introduces the concept of memory dependency groups (class MemoryGroup) and "Load/Store Unit token" (LSUToken) to track the status of a memory operation. A MemoryGroup is a node of a memory dependency graph. It is used internally to classify memory operations based on the memory operations they depend on. Let I and J be two memory operations, we say that I and J equivalent (for the purpose of mapping instructions to memory dependency groups) if the set of memory operations they depend depend on is identical. MemoryGroups are identified by so-called LSUToken (a unique group identifier assigned by the LSUnit to every group). When an instruction I is dispatched to the LSUnit, the LSUnit maps I to a group, and then returns a LSUToken. LSUTokens are used by class Scheduler to track memory dependencies. This patch simplifies the LSUnit interface and moves most of the implementation details to its base class (LSUnitBase). There is no user visible change to the output. llvm-svn: 361950
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud