forked from OSchip/llvm-project
[DEBUGINFO, NVPTX] Try to pack bytes data into a single string.
Summary: If the target does not support `.asciz` and `.ascii` directives, the strings are represented as bytes and each byte is placed on the new line as a separate byte directive `.b8 <data>`. NVPTX target allows to represent the vector of the data of the same type as a vector, where values are separated using `,` symbol: `.b8 <data1>,<data2>,...`. This allows to reduce the size of the final PTX file. Ptxas tool includes ptx files into the resulting binary object, so reducing the size of the PTX file is important. Reviewers: tra, jlebar, echristo Subscribers: jholewinski, llvm-commits Differential Revision: https://reviews.llvm.org/D45822 llvm-svn: 345142
This commit is contained in:
parent
e8437cbf5e
commit
c15c853c3a
|
@ -109,6 +109,11 @@ public:
|
|||
|
||||
virtual void emitValue(const MCExpr *Value);
|
||||
|
||||
/// Emit the bytes in \p Data into the output.
|
||||
///
|
||||
/// This is used to emit bytes in \p Data as sequence of .byte directives.
|
||||
virtual void emitRawBytes(StringRef Data);
|
||||
|
||||
virtual void finish();
|
||||
};
|
||||
|
||||
|
|
|
@ -589,8 +589,7 @@ void DIEString::print(raw_ostream &O) const {
|
|||
//===----------------------------------------------------------------------===//
|
||||
void DIEInlineString::EmitValue(const AsmPrinter *AP, dwarf::Form Form) const {
|
||||
if (Form == dwarf::DW_FORM_string) {
|
||||
for (char ch : S)
|
||||
AP->emitInt8(ch);
|
||||
AP->OutStreamer->EmitBytes(S);
|
||||
AP->emitInt8(0);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -858,10 +858,14 @@ void MCAsmStreamer::EmitBytes(StringRef Data) {
|
|||
// supported, emit as vector of 8bits data.
|
||||
if (Data.size() == 1 ||
|
||||
!(MAI->getAscizDirective() || MAI->getAsciiDirective())) {
|
||||
const char *Directive = MAI->getData8bitsDirective();
|
||||
for (const unsigned char C : Data.bytes()) {
|
||||
OS << Directive << (unsigned)C;
|
||||
EmitEOL();
|
||||
if (MCTargetStreamer *TS = getTargetStreamer()) {
|
||||
TS->emitRawBytes(Data);
|
||||
} else {
|
||||
const char *Directive = MAI->getData8bitsDirective();
|
||||
for (const unsigned char C : Data.bytes()) {
|
||||
OS << Directive << (unsigned)C;
|
||||
EmitEOL();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -72,6 +72,18 @@ void MCTargetStreamer::emitValue(const MCExpr *Value) {
|
|||
Streamer.EmitRawText(OS.str());
|
||||
}
|
||||
|
||||
void MCTargetStreamer::emitRawBytes(StringRef Data) {
|
||||
const MCAsmInfo *MAI = Streamer.getContext().getAsmInfo();
|
||||
const char *Directive = MAI->getData8bitsDirective();
|
||||
for (const unsigned char C : Data.bytes()) {
|
||||
SmallString<128> Str;
|
||||
raw_svector_ostream OS(Str);
|
||||
|
||||
OS << Directive << (unsigned)C;
|
||||
Streamer.EmitRawText(OS.str());
|
||||
}
|
||||
}
|
||||
|
||||
void MCTargetStreamer::emitAssignment(MCSymbol *Symbol, const MCExpr *Value) {}
|
||||
|
||||
MCStreamer::MCStreamer(MCContext &Ctx)
|
||||
|
|
|
@ -92,3 +92,30 @@ void NVPTXTargetStreamer::changeSection(const MCSection *CurSection,
|
|||
OS << "//\t{\n";
|
||||
}
|
||||
}
|
||||
|
||||
void NVPTXTargetStreamer::emitRawBytes(StringRef Data) {
|
||||
const MCAsmInfo *MAI = Streamer.getContext().getAsmInfo();
|
||||
const char *Directive = MAI->getData8bitsDirective();
|
||||
unsigned NumElements = Data.size();
|
||||
const unsigned MaxLen = 40;
|
||||
unsigned NumChunks = 1 + ((NumElements - 1) / MaxLen);
|
||||
// Split the very long directives into several parts if the limit is
|
||||
// specified.
|
||||
for (unsigned I = 0; I < NumChunks; ++I) {
|
||||
SmallString<128> Str;
|
||||
raw_svector_ostream OS(Str);
|
||||
|
||||
const char *Label = Directive;
|
||||
for (auto It = std::next(Data.bytes_begin(), I * MaxLen),
|
||||
End = (I == NumChunks - 1)
|
||||
? Data.bytes_end()
|
||||
: std::next(Data.bytes_begin(), (I + 1) * MaxLen);
|
||||
It != End; ++It) {
|
||||
OS << Label << (unsigned)*It;
|
||||
if (Label == Directive)
|
||||
Label = ",";
|
||||
}
|
||||
Streamer.EmitRawText(OS.str());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -39,6 +39,10 @@ public:
|
|||
void emitDwarfFileDirective(StringRef Directive) override;
|
||||
void changeSection(const MCSection *CurSection, MCSection *Section,
|
||||
const MCExpr *SubSection, raw_ostream &OS) override;
|
||||
/// Emit the bytes in \p Data into the output.
|
||||
///
|
||||
/// This is used to emit bytes in \p Data as sequence of .byte directives.
|
||||
void emitRawBytes(StringRef Data) override;
|
||||
};
|
||||
|
||||
} // end namespace llvm
|
||||
|
|
|
@ -148,75 +148,15 @@ entry:
|
|||
; CHECK: // .b32 .debug_abbrev // Offset Into Abbrev. Section
|
||||
; CHECK: // .b8 8 // Address Size (in bytes)
|
||||
; CHECK: // .b8 1 // Abbrev [1] 0xb:0xb0 DW_TAG_compile_unit
|
||||
; CHECK: // .b8 99 // DW_AT_producer
|
||||
; CHECK: // .b8 108
|
||||
; CHECK: // .b8 97
|
||||
; CHECK: // .b8 110
|
||||
; CHECK: // .b8 103
|
||||
; CHECK: // .b8 32
|
||||
; CHECK: // .b8 118
|
||||
; CHECK: // .b8 101
|
||||
; CHECK: // .b8 114
|
||||
; CHECK: // .b8 115
|
||||
; CHECK: // .b8 105
|
||||
; CHECK: // .b8 111
|
||||
; CHECK: // .b8 110
|
||||
; CHECK: // .b8 32
|
||||
; CHECK: // .b8 51
|
||||
; CHECK: // .b8 46
|
||||
; CHECK: // .b8 53
|
||||
; CHECK: // .b8 46
|
||||
; CHECK: // .b8 48
|
||||
; CHECK: // .b8 32
|
||||
; CHECK: // .b8 40
|
||||
; CHECK: // .b8 116
|
||||
; CHECK: // .b8 114
|
||||
; CHECK: // .b8 117
|
||||
; CHECK: // .b8 110
|
||||
; CHECK: // .b8 107
|
||||
; CHECK: // .b8 32
|
||||
; CHECK: // .b8 50
|
||||
; CHECK: // .b8 48
|
||||
; CHECK: // .b8 52
|
||||
; CHECK: // .b8 49
|
||||
; CHECK: // .b8 54
|
||||
; CHECK: // .b8 52
|
||||
; CHECK: // .b8 41
|
||||
; CHECK: // .b8 32
|
||||
; CHECK: // .b8 40
|
||||
; CHECK: // .b8 108
|
||||
; CHECK: // .b8 108
|
||||
; CHECK: // .b8 118
|
||||
; CHECK: // .b8 109
|
||||
; CHECK: // .b8 47
|
||||
; CHECK: // .b8 116
|
||||
; CHECK: // .b8 114
|
||||
; CHECK: // .b8 117
|
||||
; CHECK: // .b8 110
|
||||
; CHECK: // .b8 107
|
||||
; CHECK: // .b8 32
|
||||
; CHECK: // .b8 50
|
||||
; CHECK: // .b8 48
|
||||
; CHECK: // .b8 52
|
||||
; CHECK: // .b8 49
|
||||
; CHECK: // .b8 56
|
||||
; CHECK: // .b8 51
|
||||
; CHECK: // .b8 41
|
||||
; CHECK: // .b8 99,108,97,110,103,32,118,101,114,115,105,111,110,32,51,46,53,46,48,32,40,116,114,117,110,107,32,50,48,52,49,54,52,41,32,40,108,108,118,109 // DW_AT_producer
|
||||
; CHECK: // .b8 47,116,114,117,110,107,32,50,48,52,49,56,51,41
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 12 // DW_AT_language
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 98 // DW_AT_name
|
||||
; CHECK: // .b8 46
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 98,46,99 // DW_AT_name
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b32 .debug_line // DW_AT_stmt_list
|
||||
; CHECK: // .b8 47 // DW_AT_comp_dir
|
||||
; CHECK: // .b8 115
|
||||
; CHECK: // .b8 111
|
||||
; CHECK: // .b8 117
|
||||
; CHECK: // .b8 114
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 101
|
||||
; CHECK: // .b8 47,115,111,117,114,99,101 // DW_AT_comp_dir
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b64 Lfunc_begin0 // DW_AT_low_pc
|
||||
; CHECK: // .b64 Lfunc_end2 // DW_AT_high_pc
|
||||
|
@ -259,9 +199,7 @@ entry:
|
|||
; CHECK: // .b32 179 // DW_AT_type
|
||||
; CHECK: // .b8 0 // End Of Children Mark
|
||||
; CHECK: // .b8 4 // Abbrev [4] 0xb3:0x7 DW_TAG_base_type
|
||||
; CHECK: // .b8 105 // DW_AT_name
|
||||
; CHECK: // .b8 110
|
||||
; CHECK: // .b8 116
|
||||
; CHECK: // .b8 105,110,116 // DW_AT_name
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 5 // DW_AT_encoding
|
||||
; CHECK: // .b8 4 // DW_AT_byte_size
|
||||
|
|
|
@ -129,23 +129,14 @@
|
|||
; CHECK: // .b32 .debug_abbrev // Offset Into Abbrev. Section
|
||||
; CHECK: // .b8 8 // Address Size (in bytes)
|
||||
; CHECK: // .b8 1 // Abbrev [1] 0xb:0x80 DW_TAG_compile_unit
|
||||
; CHECK: // .b8 99 // DW_AT_producer
|
||||
; CHECK: // .b8 108
|
||||
; CHECK: // .b8 97
|
||||
; CHECK: // .b8 110
|
||||
; CHECK: // .b8 103
|
||||
; CHECK: // .b8 99,108,97,110,103 // DW_AT_producer
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 12 // DW_AT_language
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 116 // DW_AT_name
|
||||
; CHECK: // .b8 46
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 116,46,99 // DW_AT_name
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b32 .debug_line // DW_AT_stmt_list
|
||||
; CHECK: // .b8 116 // DW_AT_comp_dir
|
||||
; CHECK: // .b8 101
|
||||
; CHECK: // .b8 115
|
||||
; CHECK: // .b8 116
|
||||
; CHECK: // .b8 116,101,115,116 // DW_AT_comp_dir
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b64 Lfunc_begin0 // DW_AT_low_pc
|
||||
; CHECK: // .b64 Lfunc_end0 // DW_AT_high_pc
|
||||
|
@ -154,21 +145,7 @@
|
|||
; CHECK: // .b64 Lfunc_end0 // DW_AT_high_pc
|
||||
; CHECK: // .b8 1 // DW_AT_frame_base
|
||||
; CHECK: // .b8 156
|
||||
; CHECK: // .b8 117 // DW_AT_name
|
||||
; CHECK: // .b8 115
|
||||
; CHECK: // .b8 101
|
||||
; CHECK: // .b8 95
|
||||
; CHECK: // .b8 100
|
||||
; CHECK: // .b8 98
|
||||
; CHECK: // .b8 103
|
||||
; CHECK: // .b8 95
|
||||
; CHECK: // .b8 100
|
||||
; CHECK: // .b8 101
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 108
|
||||
; CHECK: // .b8 97
|
||||
; CHECK: // .b8 114
|
||||
; CHECK: // .b8 101
|
||||
; CHECK: // .b8 117,115,101,95,100,98,103,95,100,101,99,108,97,114,101 // DW_AT_name
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 1 // DW_AT_decl_file
|
||||
; CHECK: // .b8 3 // DW_AT_decl_line
|
||||
|
@ -187,9 +164,7 @@
|
|||
; CHECK: // .b32 110 // DW_AT_type
|
||||
; CHECK: // .b8 0 // End Of Children Mark
|
||||
; CHECK: // .b8 4 // Abbrev [4] 0x6e:0x15 DW_TAG_structure_type
|
||||
; CHECK: // .b8 70 // DW_AT_name
|
||||
; CHECK: // .b8 111
|
||||
; CHECK: // .b8 111
|
||||
; CHECK: // .b8 70,111,111 // DW_AT_name
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 4 // DW_AT_byte_size
|
||||
; CHECK: // .b8 1 // DW_AT_decl_file
|
||||
|
@ -205,9 +180,7 @@
|
|||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 0 // End Of Children Mark
|
||||
; CHECK: // .b8 6 // Abbrev [6] 0x83:0x7 DW_TAG_base_type
|
||||
; CHECK: // .b8 105 // DW_AT_name
|
||||
; CHECK: // .b8 110
|
||||
; CHECK: // .b8 116
|
||||
; CHECK: // .b8 105,110,116 // DW_AT_name
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 5 // DW_AT_encoding
|
||||
; CHECK: // .b8 4 // DW_AT_byte_size
|
||||
|
|
|
@ -63,25 +63,10 @@ bb:
|
|||
; CHECK: // .b8 0 // DW_AT_producer
|
||||
; CHECK: // .b8 4 // DW_AT_language
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 98 // DW_AT_name
|
||||
; CHECK: // .b8 97
|
||||
; CHECK: // .b8 114
|
||||
; CHECK: // .b8 46
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 117
|
||||
; CHECK: // .b8 98,97,114,46,99,117 // DW_AT_name
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b32 .debug_line // DW_AT_stmt_list
|
||||
; CHECK: // .b8 47 // DW_AT_comp_dir
|
||||
; CHECK: // .b8 115
|
||||
; CHECK: // .b8 111
|
||||
; CHECK: // .b8 117
|
||||
; CHECK: // .b8 114
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 101
|
||||
; CHECK: // .b8 47
|
||||
; CHECK: // .b8 100
|
||||
; CHECK: // .b8 105
|
||||
; CHECK: // .b8 114
|
||||
; CHECK: // .b8 47,115,111,117,114,99,101,47,100,105,114 // DW_AT_comp_dir
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b64 Lfunc_begin0 // DW_AT_low_pc
|
||||
; CHECK: // .b64 Lfunc_end1 // DW_AT_high_pc
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -166,8 +166,7 @@ attributes #2 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n
|
|||
; CHECK: // .b8 1 // DW_FORM_addr
|
||||
; CHECK: // .b8 64 // DW_AT_frame_base
|
||||
; CHECK: // .b8 10 // DW_FORM_block1
|
||||
; CHECK: // .b8 135 // DW_AT_MIPS_linkage_name
|
||||
; CHECK: // .b8 64
|
||||
; CHECK: // .b8 135,64 // DW_AT_MIPS_linkage_name
|
||||
; CHECK: // .b8 8 // DW_FORM_string
|
||||
; CHECK: // .b8 3 // DW_AT_name
|
||||
; CHECK: // .b8 8 // DW_FORM_string
|
||||
|
@ -201,8 +200,7 @@ attributes #2 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n
|
|||
; CHECK: // .b8 1 // DW_FORM_addr
|
||||
; CHECK: // .b8 64 // DW_AT_frame_base
|
||||
; CHECK: // .b8 10 // DW_FORM_block1
|
||||
; CHECK: // .b8 135 // DW_AT_MIPS_linkage_name
|
||||
; CHECK: // .b8 64
|
||||
; CHECK: // .b8 135,64 // DW_AT_MIPS_linkage_name
|
||||
; CHECK: // .b8 8 // DW_FORM_string
|
||||
; CHECK: // .b8 3 // DW_AT_name
|
||||
; CHECK: // .b8 8 // DW_FORM_string
|
||||
|
@ -250,74 +248,14 @@ attributes #2 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n
|
|||
; CHECK: // .b32 .debug_abbrev // Offset Into Abbrev. Section
|
||||
; CHECK: // .b8 8 // Address Size (in bytes)
|
||||
; CHECK: // .b8 1 // Abbrev [1] 0xb:0x8f DW_TAG_compile_unit
|
||||
; CHECK: // .b8 99 // DW_AT_producer
|
||||
; CHECK: // .b8 108
|
||||
; CHECK: // .b8 97
|
||||
; CHECK: // .b8 110
|
||||
; CHECK: // .b8 103
|
||||
; CHECK: // .b8 32
|
||||
; CHECK: // .b8 118
|
||||
; CHECK: // .b8 101
|
||||
; CHECK: // .b8 114
|
||||
; CHECK: // .b8 115
|
||||
; CHECK: // .b8 105
|
||||
; CHECK: // .b8 111
|
||||
; CHECK: // .b8 110
|
||||
; CHECK: // .b8 32
|
||||
; CHECK: // .b8 51
|
||||
; CHECK: // .b8 46
|
||||
; CHECK: // .b8 53
|
||||
; CHECK: // .b8 46
|
||||
; CHECK: // .b8 48
|
||||
; CHECK: // .b8 32
|
||||
; CHECK: // .b8 40
|
||||
; CHECK: // .b8 50
|
||||
; CHECK: // .b8 49
|
||||
; CHECK: // .b8 48
|
||||
; CHECK: // .b8 52
|
||||
; CHECK: // .b8 55
|
||||
; CHECK: // .b8 57
|
||||
; CHECK: // .b8 41
|
||||
; CHECK: // .b8 99,108,97,110,103,32,118,101,114,115,105,111,110,32,51,46,53,46,48,32,40,50,49,48,52,55,57,41 // DW_AT_producer
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 4 // DW_AT_language
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 100 // DW_AT_name
|
||||
; CHECK: // .b8 101
|
||||
; CHECK: // .b8 98
|
||||
; CHECK: // .b8 117
|
||||
; CHECK: // .b8 103
|
||||
; CHECK: // .b8 45
|
||||
; CHECK: // .b8 108
|
||||
; CHECK: // .b8 111
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 45
|
||||
; CHECK: // .b8 111
|
||||
; CHECK: // .b8 102
|
||||
; CHECK: // .b8 102
|
||||
; CHECK: // .b8 115
|
||||
; CHECK: // .b8 101
|
||||
; CHECK: // .b8 116
|
||||
; CHECK: // .b8 50
|
||||
; CHECK: // .b8 46
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 100,101,98,117,103,45,108,111,99,45,111,102,102,115,101,116,50,46,99,99 // DW_AT_name
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b32 .debug_line // DW_AT_stmt_list
|
||||
; CHECK: // .b8 47 // DW_AT_comp_dir
|
||||
; CHECK: // .b8 108
|
||||
; CHECK: // .b8 108
|
||||
; CHECK: // .b8 118
|
||||
; CHECK: // .b8 109
|
||||
; CHECK: // .b8 95
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 109
|
||||
; CHECK: // .b8 97
|
||||
; CHECK: // .b8 107
|
||||
; CHECK: // .b8 101
|
||||
; CHECK: // .b8 95
|
||||
; CHECK: // .b8 103
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 47,108,108,118,109,95,99,109,97,107,101,95,103,99,99 // DW_AT_comp_dir
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b64 Lfunc_begin1 // DW_AT_low_pc
|
||||
; CHECK: // .b64 Lfunc_end1 // DW_AT_high_pc
|
||||
|
@ -330,18 +268,9 @@ attributes #2 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n
|
|||
; CHECK: // .b64 Lfunc_end1 // DW_AT_high_pc
|
||||
; CHECK: // .b8 1 // DW_AT_frame_base
|
||||
; CHECK: // .b8 156
|
||||
; CHECK: // .b8 95 // DW_AT_MIPS_linkage_name
|
||||
; CHECK: // .b8 90
|
||||
; CHECK: // .b8 51
|
||||
; CHECK: // .b8 98
|
||||
; CHECK: // .b8 97
|
||||
; CHECK: // .b8 122
|
||||
; CHECK: // .b8 49
|
||||
; CHECK: // .b8 65
|
||||
; CHECK: // .b8 95,90,51,98,97,122,49,65 // DW_AT_MIPS_linkage_name
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 98 // DW_AT_name
|
||||
; CHECK: // .b8 97
|
||||
; CHECK: // .b8 122
|
||||
; CHECK: // .b8 98,97,122 // DW_AT_name
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 2 // DW_AT_decl_file
|
||||
; CHECK: // .b8 6 // DW_AT_decl_line
|
||||
|
@ -360,74 +289,14 @@ attributes #2 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n
|
|||
; CHECK: // .b32 .debug_abbrev // Offset Into Abbrev. Section
|
||||
; CHECK: // .b8 8 // Address Size (in bytes)
|
||||
; CHECK: // .b8 1 // Abbrev [1] 0xb:0x91 DW_TAG_compile_unit
|
||||
; CHECK: // .b8 99 // DW_AT_producer
|
||||
; CHECK: // .b8 108
|
||||
; CHECK: // .b8 97
|
||||
; CHECK: // .b8 110
|
||||
; CHECK: // .b8 103
|
||||
; CHECK: // .b8 32
|
||||
; CHECK: // .b8 118
|
||||
; CHECK: // .b8 101
|
||||
; CHECK: // .b8 114
|
||||
; CHECK: // .b8 115
|
||||
; CHECK: // .b8 105
|
||||
; CHECK: // .b8 111
|
||||
; CHECK: // .b8 110
|
||||
; CHECK: // .b8 32
|
||||
; CHECK: // .b8 51
|
||||
; CHECK: // .b8 46
|
||||
; CHECK: // .b8 53
|
||||
; CHECK: // .b8 46
|
||||
; CHECK: // .b8 48
|
||||
; CHECK: // .b8 32
|
||||
; CHECK: // .b8 40
|
||||
; CHECK: // .b8 50
|
||||
; CHECK: // .b8 49
|
||||
; CHECK: // .b8 48
|
||||
; CHECK: // .b8 52
|
||||
; CHECK: // .b8 55
|
||||
; CHECK: // .b8 57
|
||||
; CHECK: // .b8 41
|
||||
; CHECK: // .b8 99,108,97,110,103,32,118,101,114,115,105,111,110,32,51,46,53,46,48,32,40,50,49,48,52,55,57,41 // DW_AT_producer
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 4 // DW_AT_language
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 100 // DW_AT_name
|
||||
; CHECK: // .b8 101
|
||||
; CHECK: // .b8 98
|
||||
; CHECK: // .b8 117
|
||||
; CHECK: // .b8 103
|
||||
; CHECK: // .b8 45
|
||||
; CHECK: // .b8 108
|
||||
; CHECK: // .b8 111
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 45
|
||||
; CHECK: // .b8 111
|
||||
; CHECK: // .b8 102
|
||||
; CHECK: // .b8 102
|
||||
; CHECK: // .b8 115
|
||||
; CHECK: // .b8 101
|
||||
; CHECK: // .b8 116
|
||||
; CHECK: // .b8 49
|
||||
; CHECK: // .b8 46
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 100,101,98,117,103,45,108,111,99,45,111,102,102,115,101,116,49,46,99,99 // DW_AT_name
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b32 .debug_line // DW_AT_stmt_list
|
||||
; CHECK: // .b8 47 // DW_AT_comp_dir
|
||||
; CHECK: // .b8 108
|
||||
; CHECK: // .b8 108
|
||||
; CHECK: // .b8 118
|
||||
; CHECK: // .b8 109
|
||||
; CHECK: // .b8 95
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 109
|
||||
; CHECK: // .b8 97
|
||||
; CHECK: // .b8 107
|
||||
; CHECK: // .b8 101
|
||||
; CHECK: // .b8 95
|
||||
; CHECK: // .b8 103
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 99
|
||||
; CHECK: // .b8 47,108,108,118,109,95,99,109,97,107,101,95,103,99,99 // DW_AT_comp_dir
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b64 Lfunc_begin0 // DW_AT_low_pc
|
||||
; CHECK: // .b64 Lfunc_end0 // DW_AT_high_pc
|
||||
|
@ -436,17 +305,9 @@ attributes #2 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n
|
|||
; CHECK: // .b64 Lfunc_end0 // DW_AT_high_pc
|
||||
; CHECK: // .b8 1 // DW_AT_frame_base
|
||||
; CHECK: // .b8 156
|
||||
; CHECK: // .b8 95 // DW_AT_MIPS_linkage_name
|
||||
; CHECK: // .b8 90
|
||||
; CHECK: // .b8 51
|
||||
; CHECK: // .b8 98
|
||||
; CHECK: // .b8 97
|
||||
; CHECK: // .b8 114
|
||||
; CHECK: // .b8 105
|
||||
; CHECK: // .b8 95,90,51,98,97,114,105 // DW_AT_MIPS_linkage_name
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 98 // DW_AT_name
|
||||
; CHECK: // .b8 97
|
||||
; CHECK: // .b8 114
|
||||
; CHECK: // .b8 98,97,114 // DW_AT_name
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 1 // DW_AT_decl_file
|
||||
; CHECK: // .b8 1 // DW_AT_decl_line
|
||||
|
@ -460,9 +321,7 @@ attributes #2 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n
|
|||
; CHECK: // .b32 148 // DW_AT_type
|
||||
; CHECK: // .b8 0 // End Of Children Mark
|
||||
; CHECK: // .b8 7 // Abbrev [7] 0x94:0x7 DW_TAG_base_type
|
||||
; CHECK: // .b8 105 // DW_AT_name
|
||||
; CHECK: // .b8 110
|
||||
; CHECK: // .b8 116
|
||||
; CHECK: // .b8 105,110,116 // DW_AT_name
|
||||
; CHECK: // .b8 0
|
||||
; CHECK: // .b8 5 // DW_AT_encoding
|
||||
; CHECK: // .b8 4 // DW_AT_byte_size
|
||||
|
|
Loading…
Reference in New Issue