aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2022-08-17 10:54:12 -0700
committerMatthias Braun <matze@braunis.de>2022-08-22 09:28:26 -0700
commitb2542c40b924acba8bf9708e938c184b77918ae4 (patch)
treeb1bc68a45d3092adde62966026195d5f1142f43b /flang/lib/Frontend/CompilerInvocation.cpp
parent3affbae5300dcdf753c954a65ab6a96fcf65c483 (diff)
downloadllvm-b2542c40b924acba8bf9708e938c184b77918ae4.zip
llvm-b2542c40b924acba8bf9708e938c184b77918ae4.tar.gz
llvm-b2542c40b924acba8bf9708e938c184b77918ae4.tar.bz2
RegisterClassInfo: Fix CSR cache invalidation
`RegisterClassInfo` caches information like allocation orders and reuses it for multiple machine functions where possible. However the `MCPhysReg *CalleeSavedRegs` field used to test whether the set of callee saved registers changed did not work: After D28566 `MachineRegisterInfo::getCalleeSavedRegs()` can return dynamically computed CSR sets that are only valid while the `MachineRegisterInfo` object of the current function exists. This changes the code to make a copy of the CSR list instead of keeping a possibly invalid pointer around. Differential Revision: https://reviews.llvm.org/D132080
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions