OLD | NEW |
1 //===-- X86MCAsmInfo.cpp - X86 asm properties -----------------------------===// | 1 //===-- X86MCAsmInfo.cpp - X86 asm properties -----------------------------===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file contains the declarations of the X86MCAsmInfo properties. | 10 // This file contains the declarations of the X86MCAsmInfo properties. |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 X86_64MCAsmInfoDarwin::X86_64MCAsmInfoDarwin(const Triple &Triple) | 83 X86_64MCAsmInfoDarwin::X86_64MCAsmInfoDarwin(const Triple &Triple) |
84 : X86MCAsmInfoDarwin(Triple) { | 84 : X86MCAsmInfoDarwin(Triple) { |
85 } | 85 } |
86 | 86 |
87 void X86ELFMCAsmInfo::anchor() { } | 87 void X86ELFMCAsmInfo::anchor() { } |
88 | 88 |
89 X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &T) { | 89 X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &T) { |
90 bool is64Bit = T.getArch() == Triple::x86_64; | 90 bool is64Bit = T.getArch() == Triple::x86_64; |
91 bool isX32 = T.getEnvironment() == Triple::GNUX32; | 91 bool isX32 = T.getEnvironment() == Triple::GNUX32; |
92 | 92 |
| 93 // @LOCALMOD-BEGIN(eliben) |
| 94 // Until Nacl implies x32, we add &&!isNaCl in the PointerSize condition |
| 95 bool isNaCl = T.isOSNaCl(); |
| 96 |
93 // For ELF, x86-64 pointer size depends on the ABI. | 97 // For ELF, x86-64 pointer size depends on the ABI. |
94 // For x86-64 without the x32 ABI, pointer size is 8. For x86 and for x86-64 | 98 // For x86-64 without the x32 ABI, pointer size is 8. For x86 and for x86-64 |
95 // with the x32 ABI, pointer size remains the default 4. | 99 // with the x32 ABI, pointer size remains the default 4. |
96 PointerSize = (is64Bit && !isX32) ? 8 : 4; | 100 PointerSize = (is64Bit && !isX32 && !isNaCl) ? 8 : 4; |
| 101 // @LOCALMOD-END |
97 | 102 |
98 // OTOH, stack slot size is always 8 for x86-64, even with the x32 ABI. | 103 // OTOH, stack slot size is always 8 for x86-64, even with the x32 ABI. |
99 CalleeSaveStackSlotSize = is64Bit ? 8 : 4; | 104 CalleeSaveStackSlotSize = is64Bit ? 8 : 4; |
100 | 105 |
101 AssemblerDialect = AsmWriterFlavor; | 106 AssemblerDialect = AsmWriterFlavor; |
102 | 107 |
103 TextAlignFillValue = 0x90; | 108 TextAlignFillValue = 0x90; |
104 | 109 |
105 // Debug Information | 110 // Debug Information |
106 SupportsDebugInformation = true; | 111 SupportsDebugInformation = true; |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 } else { | 165 } else { |
161 ExceptionsType = ExceptionHandling::DwarfCFI; | 166 ExceptionsType = ExceptionHandling::DwarfCFI; |
162 } | 167 } |
163 | 168 |
164 AssemblerDialect = AsmWriterFlavor; | 169 AssemblerDialect = AsmWriterFlavor; |
165 | 170 |
166 TextAlignFillValue = 0x90; | 171 TextAlignFillValue = 0x90; |
167 | 172 |
168 UseIntegratedAssembler = true; | 173 UseIntegratedAssembler = true; |
169 } | 174 } |
OLD | NEW |