summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
diff options
context:
space:
mode:
authorJessica Paquette <jpaquette@apple.com>2018-11-01 23:09:06 +0000
committerJessica Paquette <jpaquette@apple.com>2018-11-01 23:09:06 +0000
commitc991cf3687ee1ad8744a3037c351a035fcbf3133 (patch)
tree70b78729f819db3af970085edc33ecfd74060e95 /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
parente8c650ab126bc67cc4dffa0b8671c635079fc786 (diff)
downloadbcm5719-llvm-c991cf3687ee1ad8744a3037c351a035fcbf3133.tar.gz
bcm5719-llvm-c991cf3687ee1ad8744a3037c351a035fcbf3133.zip
[MachineOutliner][NFC] Remember when you map something illegal across MBBs
Instruction mapping in the outliner uses "illegal numbers" to signify that something can't ever be part of an outlining candidate. This means that the number is unique and can't be part of any repeated substring. Because each of these is unique, we can use a single unique number to represent a range of things we can't outline. The outliner tries to leverage this using a flag which is set in an MBB when the previous instruction we tried to map was "illegal". This patch improves that logic to work across MBBs. As a bonus, this also simplifies the mapping logic somewhat. This also updates the machine-outliner-remarks test, which was impacted by the order of Candidates on an OutlinedFunction changing. This order isn't guaranteed, so I added a FIXME to fix that in a follow-up. The order of Candidates on an OutlinedFunction isn't important, so this still is NFC. llvm-svn: 345906
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud