@@ -40,7 +40,7 @@ namespace {
40
40
// indexes in SLSBLRThunks array.
41
41
typedef uint32_t ThunksSet;
42
42
43
- struct SLSBLRThunkInserter : ThunkInserter<SLSBLRThunkInserter , ThunksSet> {
43
+ struct SLSHardeningInserter : ThunkInserter<SLSHardeningInserter , ThunksSet> {
44
44
public:
45
45
const char *getThunkPrefix () { return SLSBLRNamePrefix; }
46
46
bool mayUseThunk (const MachineFunction &MF) {
@@ -91,9 +91,9 @@ static void insertSpeculationBarrier(const AArch64Subtarget *ST,
91
91
BuildMI (MBB, MBBI, DL, TII->get (BarrierOpc));
92
92
}
93
93
94
- ThunksSet SLSBLRThunkInserter ::insertThunks (MachineModuleInfo &MMI,
95
- MachineFunction &MF,
96
- ThunksSet ExistingThunks) {
94
+ ThunksSet SLSHardeningInserter ::insertThunks (MachineModuleInfo &MMI,
95
+ MachineFunction &MF,
96
+ ThunksSet ExistingThunks) {
97
97
const AArch64Subtarget *ST = &MF.getSubtarget <AArch64Subtarget>();
98
98
99
99
for (auto &MBB : MF) {
@@ -121,8 +121,8 @@ static bool isBLR(const MachineInstr &MI) {
121
121
return false ;
122
122
}
123
123
124
- bool SLSBLRThunkInserter ::hardenReturnsAndBRs (MachineModuleInfo &MMI,
125
- MachineBasicBlock &MBB) {
124
+ bool SLSHardeningInserter ::hardenReturnsAndBRs (MachineModuleInfo &MMI,
125
+ MachineBasicBlock &MBB) {
126
126
const AArch64Subtarget *ST =
127
127
&MBB.getParent ()->getSubtarget <AArch64Subtarget>();
128
128
bool Modified = false ;
@@ -188,7 +188,7 @@ unsigned getThunkIndex(Register Reg) {
188
188
llvm_unreachable (" Unexpected register" );
189
189
}
190
190
191
- void SLSBLRThunkInserter ::populateThunk (MachineFunction &MF) {
191
+ void SLSHardeningInserter ::populateThunk (MachineFunction &MF) {
192
192
// FIXME: How to better communicate Register number, rather than through
193
193
// name and lookup table?
194
194
assert (MF.getName ().starts_with (getThunkPrefix ()));
@@ -235,10 +235,9 @@ void SLSBLRThunkInserter::populateThunk(MachineFunction &MF) {
235
235
Entry->end (), DebugLoc (), true /* AlwaysUseISBDSB*/ );
236
236
}
237
237
238
- void SLSBLRThunkInserter::convertBLRToBL (MachineModuleInfo &MMI,
239
- MachineBasicBlock &MBB,
240
- MachineBasicBlock::instr_iterator MBBI,
241
- ThunksSet &Thunks) {
238
+ void SLSHardeningInserter::convertBLRToBL (
239
+ MachineModuleInfo &MMI, MachineBasicBlock &MBB,
240
+ MachineBasicBlock::instr_iterator MBBI, ThunksSet &Thunks) {
242
241
// Transform a BLR to a BL as follows:
243
242
// Before:
244
243
// |-----------------------------|
@@ -264,7 +263,6 @@ void SLSBLRThunkInserter::convertBLRToBL(MachineModuleInfo &MMI,
264
263
// | barrierInsts |
265
264
// |-----------------------------|
266
265
//
267
- // The __llvm_slsblr_thunk_xN thunks are created by the SLSBLRThunkInserter.
268
266
// This function merely needs to transform BLR xN into BL
269
267
// __llvm_slsblr_thunk_xN.
270
268
//
@@ -346,9 +344,9 @@ void SLSBLRThunkInserter::convertBLRToBL(MachineModuleInfo &MMI,
346
344
MBB.erase (MBBI);
347
345
}
348
346
349
- bool SLSBLRThunkInserter ::hardenBLRs (MachineModuleInfo &MMI,
350
- MachineBasicBlock &MBB,
351
- ThunksSet &Thunks) {
347
+ bool SLSHardeningInserter ::hardenBLRs (MachineModuleInfo &MMI,
348
+ MachineBasicBlock &MBB,
349
+ ThunksSet &Thunks) {
352
350
bool Modified = false ;
353
351
MachineBasicBlock::instr_iterator MBBI = MBB.instr_begin (),
354
352
E = MBB.instr_end ();
@@ -365,7 +363,7 @@ bool SLSBLRThunkInserter::hardenBLRs(MachineModuleInfo &MMI,
365
363
}
366
364
367
365
namespace {
368
- class AArch64SLSHardening : public ThunkInserterPass <SLSBLRThunkInserter > {
366
+ class AArch64SLSHardening : public ThunkInserterPass <SLSHardeningInserter > {
369
367
public:
370
368
static char ID;
371
369
0 commit comments