mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-25 13:35:10 +00:00
factor some labels, simplify some code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98429 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
669f6b3bee
commit
fb65807c34
@ -2756,16 +2756,15 @@ emitFunctionDebugFrame(const FunctionDebugFrameInfo &DebugFrameInfo) {
|
||||
getTempLabel("section_debug_frame"), true, false);
|
||||
|
||||
Asm->OutStreamer.AddComment("FDE initial location");
|
||||
Asm->OutStreamer.EmitSymbolValue(getDWLabel("func_begin",
|
||||
DebugFrameInfo.Number),
|
||||
MCSymbol *FuncBeginSym = getDWLabel("func_begin", DebugFrameInfo.Number);
|
||||
Asm->OutStreamer.EmitSymbolValue(FuncBeginSym,
|
||||
TD->getPointerSize(), 0/*AddrSpace*/);
|
||||
|
||||
|
||||
|
||||
Asm->OutStreamer.AddComment("FDE address range");
|
||||
EmitDifference(getDWLabel("func_end", DebugFrameInfo.Number),
|
||||
getDWLabel("func_begin", DebugFrameInfo.Number));
|
||||
EmitDifference(getDWLabel("func_end", DebugFrameInfo.Number), FuncBeginSym);
|
||||
|
||||
// FuncBeginSym.
|
||||
EmitFrameMoves("func_begin", DebugFrameInfo.Number, DebugFrameInfo.Moves,
|
||||
false);
|
||||
|
||||
|
@ -221,12 +221,13 @@ void DwarfException::EmitFDE(const FunctionEHFrameInfo &EHFrameInfo) {
|
||||
EHFrameInfo.PersonalityIndex),
|
||||
true, true);
|
||||
|
||||
MCSymbol *EHFuncBeginSym = getDWLabel("eh_func_begin", EHFrameInfo.Number);
|
||||
|
||||
Asm->OutStreamer.AddComment("FDE initial location");
|
||||
EmitReference(getDWLabel("eh_func_begin", EHFrameInfo.Number), FDEEncoding);
|
||||
EmitReference(EHFuncBeginSym, FDEEncoding);
|
||||
|
||||
Asm->OutStreamer.AddComment("FDE address range");
|
||||
EmitDifference(getDWLabel("eh_func_end", EHFrameInfo.Number),
|
||||
getDWLabel("eh_func_begin", EHFrameInfo.Number),
|
||||
EmitDifference(getDWLabel("eh_func_end", EHFrameInfo.Number),EHFuncBeginSym,
|
||||
SizeOfEncodedValue(FDEEncoding) == 4);
|
||||
|
||||
// If there is a personality and landing pads then point to the language
|
||||
@ -246,6 +247,7 @@ void DwarfException::EmitFDE(const FunctionEHFrameInfo &EHFrameInfo) {
|
||||
}
|
||||
|
||||
// Indicate locations of function specific callee saved registers in frame.
|
||||
// EHFuncBeginSym
|
||||
EmitFrameMoves("eh_func_begin", EHFrameInfo.Number, EHFrameInfo.Moves,
|
||||
true);
|
||||
|
||||
|
@ -240,12 +240,12 @@ void DwarfPrinter::EmitSectionOffset(const MCSymbol *Label,
|
||||
void DwarfPrinter::EmitFrameMoves(const char *BaseLabel, unsigned BaseLabelID,
|
||||
const std::vector<MachineMove> &Moves,
|
||||
bool isEH) {
|
||||
int stackGrowth =
|
||||
Asm->TM.getFrameInfo()->getStackGrowthDirection() ==
|
||||
TargetFrameInfo::StackGrowsUp ?
|
||||
TD->getPointerSize() : -TD->getPointerSize();
|
||||
bool IsLocal = BaseLabel && strcmp(BaseLabel, "label") == 0;
|
||||
|
||||
int stackGrowth = TD->getPointerSize();
|
||||
if (Asm->TM.getFrameInfo()->getStackGrowthDirection() !=
|
||||
TargetFrameInfo::StackGrowsUp)
|
||||
stackGrowth *= -1;
|
||||
|
||||
bool IsLocal = false;
|
||||
for (unsigned i = 0, N = Moves.size(); i < N; ++i) {
|
||||
const MachineMove &Move = Moves[i];
|
||||
unsigned LabelID = Move.getLabelID();
|
||||
|
Loading…
Reference in New Issue
Block a user