Skip to content

Commit 51af8c1

Browse files
Address comments.
1 parent 6fc0630 commit 51af8c1

File tree

1 file changed

+18
-34
lines changed

1 file changed

+18
-34
lines changed

llvm/lib/MC/MCSFrame.cpp

Lines changed: 18 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,20 @@ struct SFrameFRE {
3939

4040
SFrameFRE(const MCSymbol *Start) : Label(Start) {}
4141

42+
void emitOffset(MCObjectStreamer &S, FREOffset OffsetSize, size_t Offset) {
43+
switch (OffsetSize) {
44+
case (FREOffset::B1):
45+
S.emitInt8(Offset);
46+
return;
47+
case (FREOffset::B2):
48+
S.emitInt16(Offset);
49+
return;
50+
case (FREOffset::B4):
51+
S.emitInt32(Offset);
52+
return;
53+
}
54+
}
55+
4256
void emit(MCObjectStreamer &S, const MCSymbol *FuncBegin,
4357
MCFragment *FDEFrag) {
4458
S.emitSFrameCalculateFuncOffset(FuncBegin, Label, FDEFrag, SMLoc());
@@ -72,44 +86,14 @@ struct SFrameFRE {
7286

7387
// FRE Offsets
7488
[[maybe_unused]] unsigned OffsetsEmitted = 1;
75-
switch (Info.getOffsetSize()) {
76-
case (FREOffset::B1):
77-
S.emitInt8(CFAOffset);
78-
break;
79-
case (FREOffset::B2):
80-
S.emitInt16(CFAOffset);
81-
break;
82-
case (FREOffset::B4):
83-
S.emitInt32(CFAOffset);
84-
break;
85-
}
89+
emitOffset(S, Info.getOffsetSize(), CFAOffset);
8690
if (FPOffset) {
8791
OffsetsEmitted++;
88-
switch (Info.getOffsetSize()) {
89-
case (FREOffset::B1):
90-
S.emitInt8(FPOffset);
91-
break;
92-
case (FREOffset::B2):
93-
S.emitInt16(FPOffset);
94-
break;
95-
case (FREOffset::B4):
96-
S.emitInt32(FPOffset);
97-
break;
98-
}
92+
emitOffset(S, Info.getOffsetSize(), FPOffset);
9993
}
10094
if (RAOffset) {
10195
OffsetsEmitted++;
102-
switch (Info.getOffsetSize()) {
103-
case (FREOffset::B1):
104-
S.emitInt8(RAOffset);
105-
break;
106-
case (FREOffset::B2):
107-
S.emitInt16(RAOffset);
108-
break;
109-
case (FREOffset::B4):
110-
S.emitInt32(RAOffset);
111-
break;
112-
}
96+
emitOffset(S, Info.getOffsetSize(), RAOffset);
11397
}
11498
assert(OffsetsEmitted == RegsTracked &&
11599
"Didn't emit the right number of offsets");
@@ -467,7 +451,7 @@ void MCSFrameEmitter::emit(MCObjectStreamer &Streamer) {
467451
void MCSFrameEmitter::encodeFuncOffset(MCContext &C, uint64_t Offset,
468452
SmallVectorImpl<char> &Out,
469453
MCFragment *FDEFrag) {
470-
// If encoding into the FDE Frag itself, generate the sfde_info_word.
454+
// If encoding into the FDE Frag itself, generate the sfde_func_info.
471455
if (FDEFrag == nullptr) {
472456
// sfde_func_info
473457

0 commit comments

Comments
 (0)