llvm.org GIT mirror llvm / ef4a661
Add a bool to indicate if we should set the "indirect encoding" bit in the Dwarf information for EH. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41852 91177308-0d34-0410-b5e6-96231b3b80d8 Bill Wendling 13 years ago
4 changed file(s) with 13 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
115115 const char *PersonalityPrefix; // Defaults to ""
116116 const char *PersonalitySuffix; // Defaults to ""
117117
118 /// NeedsIndirectEncoding - If set, we need to set the indirect encoding bit
119 /// for EH in Dwarf.
120 ///
121 bool NeedsIndirectEncoding; // Defaults to false
122
118123 /// InlineAsmStart/End - If these are nonempty, they contain a directive to
119124 /// emit before and after an inline assembly statement.
120125 const char *InlineAsmStart; // Defaults to "#APP\n"
27882788 if (Personality) {
27892789 Asm->EmitULEB128Bytes(7);
27902790 Asm->EOL("Augmentation Size");
2791 Asm->EmitInt8(DW_EH_PE_pcrel | DW_EH_PE_sdata4 | DW_EH_PE_indirect);
2791
2792 if (TAI->getNeedsIndirectEncoding())
2793 Asm->EmitInt8(DW_EH_PE_pcrel | DW_EH_PE_sdata4 | DW_EH_PE_indirect);
2794 else
2795 Asm->EmitInt8(DW_EH_PE_pcrel | DW_EH_PE_sdata4);
2796
27922797 Asm->EOL("Personality (pcrel sdata4 indirect)");
27932798
27942799 PrintRelDirective();
3939 FunctionAddrSuffix(""),
4040 PersonalityPrefix(""),
4141 PersonalitySuffix(""),
42 NeedsIndirectEncoding(false),
4243 InlineAsmStart("#APP"),
4344 InlineAsmEnd("#NO_APP"),
4445 AssemblerDialect(0),
6969 }
7070 PersonalityPrefix = "L";
7171 PersonalitySuffix = "$non_lazy_ptr";
72 NeedsIndirectEncoding = true;
7273 InlineAsmStart = "# InlineAsm Start";
7374 InlineAsmEnd = "# InlineAsm End";
7475 SetDirective = "\t.set";