Deleted Added
full compact
ARMTargetMachine.cpp (195098) ARMTargetMachine.cpp (195340)
1//===-- ARMTargetMachine.cpp - Define TargetMachine for ARM ---------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 81 unchanged lines hidden (view full) ---

90 : ARMBaseTargetMachine(M, FS, false), InstrInfo(Subtarget),
91 DataLayout(Subtarget.isAPCS_ABI() ?
92 std::string("e-p:32:32-f64:32:32-i64:32:32") :
93 std::string("e-p:32:32-f64:64:64-i64:64:64")),
94 TLInfo(*this) {
95}
96
97ThumbTargetMachine::ThumbTargetMachine(const Module &M, const std::string &FS)
1//===-- ARMTargetMachine.cpp - Define TargetMachine for ARM ---------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 81 unchanged lines hidden (view full) ---

90 : ARMBaseTargetMachine(M, FS, false), InstrInfo(Subtarget),
91 DataLayout(Subtarget.isAPCS_ABI() ?
92 std::string("e-p:32:32-f64:32:32-i64:32:32") :
93 std::string("e-p:32:32-f64:64:64-i64:64:64")),
94 TLInfo(*this) {
95}
96
97ThumbTargetMachine::ThumbTargetMachine(const Module &M, const std::string &FS)
98 : ARMBaseTargetMachine(M, FS, true), InstrInfo(Subtarget),
98 : ARMBaseTargetMachine(M, FS, true),
99 DataLayout(Subtarget.isAPCS_ABI() ?
100 std::string("e-p:32:32-f64:32:32-i64:32:32-"
101 "i16:16:32-i8:8:32-i1:8:32-a:0:32") :
102 std::string("e-p:32:32-f64:64:64-i64:64:64-"
103 "i16:16:32-i8:8:32-i1:8:32-a:0:32")),
104 TLInfo(*this) {
99 DataLayout(Subtarget.isAPCS_ABI() ?
100 std::string("e-p:32:32-f64:32:32-i64:32:32-"
101 "i16:16:32-i8:8:32-i1:8:32-a:0:32") :
102 std::string("e-p:32:32-f64:64:64-i64:64:64-"
103 "i16:16:32-i8:8:32-i1:8:32-a:0:32")),
104 TLInfo(*this) {
105 // Create the approriate type of Thumb InstrInfo
106 if (Subtarget.hasThumb2())
107 InstrInfo = new Thumb2InstrInfo(Subtarget);
108 else
109 InstrInfo = new Thumb1InstrInfo(Subtarget);
105}
106
107unsigned ARMTargetMachine::getJITMatchQuality() {
108#if defined(__arm__)
109 return 10;
110#endif
111 return 0;
112}

--- 61 unchanged lines hidden (view full) ---

174
175bool ARMBaseTargetMachine::addAssemblyEmitter(PassManagerBase &PM,
176 CodeGenOpt::Level OptLevel,
177 bool Verbose,
178 raw_ostream &Out) {
179 // Output assembly language.
180 assert(AsmPrinterCtor && "AsmPrinter was not linked in");
181 if (AsmPrinterCtor)
110}
111
112unsigned ARMTargetMachine::getJITMatchQuality() {
113#if defined(__arm__)
114 return 10;
115#endif
116 return 0;
117}

--- 61 unchanged lines hidden (view full) ---

179
180bool ARMBaseTargetMachine::addAssemblyEmitter(PassManagerBase &PM,
181 CodeGenOpt::Level OptLevel,
182 bool Verbose,
183 raw_ostream &Out) {
184 // Output assembly language.
185 assert(AsmPrinterCtor && "AsmPrinter was not linked in");
186 if (AsmPrinterCtor)
182 PM.add(AsmPrinterCtor(Out, *this, OptLevel, Verbose));
187 PM.add(AsmPrinterCtor(Out, *this, Verbose));
183
184 return false;
185}
186
187
188bool ARMBaseTargetMachine::addCodeEmitter(PassManagerBase &PM,
189 CodeGenOpt::Level OptLevel,
190 bool DumpAsm,
191 MachineCodeEmitter &MCE) {
192 // FIXME: Move this to TargetJITInfo!
193 if (DefRelocModel == Reloc::Default)
194 setRelocationModel(Reloc::Static);
195
196 // Machine code emitter pass for ARM.
197 PM.add(createARMCodeEmitterPass(*this, MCE));
198 if (DumpAsm) {
199 assert(AsmPrinterCtor && "AsmPrinter was not linked in");
200 if (AsmPrinterCtor)
188
189 return false;
190}
191
192
193bool ARMBaseTargetMachine::addCodeEmitter(PassManagerBase &PM,
194 CodeGenOpt::Level OptLevel,
195 bool DumpAsm,
196 MachineCodeEmitter &MCE) {
197 // FIXME: Move this to TargetJITInfo!
198 if (DefRelocModel == Reloc::Default)
199 setRelocationModel(Reloc::Static);
200
201 // Machine code emitter pass for ARM.
202 PM.add(createARMCodeEmitterPass(*this, MCE));
203 if (DumpAsm) {
204 assert(AsmPrinterCtor && "AsmPrinter was not linked in");
205 if (AsmPrinterCtor)
201 PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true));
206 PM.add(AsmPrinterCtor(errs(), *this, true));
202 }
203
204 return false;
205}
206
207bool ARMBaseTargetMachine::addCodeEmitter(PassManagerBase &PM,
208 CodeGenOpt::Level OptLevel,
209 bool DumpAsm,
210 JITCodeEmitter &JCE) {
211 // FIXME: Move this to TargetJITInfo!
212 if (DefRelocModel == Reloc::Default)
213 setRelocationModel(Reloc::Static);
214
215 // Machine code emitter pass for ARM.
216 PM.add(createARMJITCodeEmitterPass(*this, JCE));
217 if (DumpAsm) {
218 assert(AsmPrinterCtor && "AsmPrinter was not linked in");
219 if (AsmPrinterCtor)
207 }
208
209 return false;
210}
211
212bool ARMBaseTargetMachine::addCodeEmitter(PassManagerBase &PM,
213 CodeGenOpt::Level OptLevel,
214 bool DumpAsm,
215 JITCodeEmitter &JCE) {
216 // FIXME: Move this to TargetJITInfo!
217 if (DefRelocModel == Reloc::Default)
218 setRelocationModel(Reloc::Static);
219
220 // Machine code emitter pass for ARM.
221 PM.add(createARMJITCodeEmitterPass(*this, JCE));
222 if (DumpAsm) {
223 assert(AsmPrinterCtor && "AsmPrinter was not linked in");
224 if (AsmPrinterCtor)
220 PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true));
225 PM.add(AsmPrinterCtor(errs(), *this, true));
221 }
222
223 return false;
224}
225
226bool ARMBaseTargetMachine::addSimpleCodeEmitter(PassManagerBase &PM,
227 CodeGenOpt::Level OptLevel,
228 bool DumpAsm,
229 MachineCodeEmitter &MCE) {
230 // Machine code emitter pass for ARM.
231 PM.add(createARMCodeEmitterPass(*this, MCE));
232 if (DumpAsm) {
233 assert(AsmPrinterCtor && "AsmPrinter was not linked in");
234 if (AsmPrinterCtor)
226 }
227
228 return false;
229}
230
231bool ARMBaseTargetMachine::addSimpleCodeEmitter(PassManagerBase &PM,
232 CodeGenOpt::Level OptLevel,
233 bool DumpAsm,
234 MachineCodeEmitter &MCE) {
235 // Machine code emitter pass for ARM.
236 PM.add(createARMCodeEmitterPass(*this, MCE));
237 if (DumpAsm) {
238 assert(AsmPrinterCtor && "AsmPrinter was not linked in");
239 if (AsmPrinterCtor)
235 PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true));
240 PM.add(AsmPrinterCtor(errs(), *this, true));
236 }
237
238 return false;
239}
240
241bool ARMBaseTargetMachine::addSimpleCodeEmitter(PassManagerBase &PM,
242 CodeGenOpt::Level OptLevel,
243 bool DumpAsm,
244 JITCodeEmitter &JCE) {
245 // Machine code emitter pass for ARM.
246 PM.add(createARMJITCodeEmitterPass(*this, JCE));
247 if (DumpAsm) {
248 assert(AsmPrinterCtor && "AsmPrinter was not linked in");
249 if (AsmPrinterCtor)
241 }
242
243 return false;
244}
245
246bool ARMBaseTargetMachine::addSimpleCodeEmitter(PassManagerBase &PM,
247 CodeGenOpt::Level OptLevel,
248 bool DumpAsm,
249 JITCodeEmitter &JCE) {
250 // Machine code emitter pass for ARM.
251 PM.add(createARMJITCodeEmitterPass(*this, JCE));
252 if (DumpAsm) {
253 assert(AsmPrinterCtor && "AsmPrinter was not linked in");
254 if (AsmPrinterCtor)
250 PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true));
255 PM.add(AsmPrinterCtor(errs(), *this, true));
251 }
252
253 return false;
254}
255
256
256 }
257
258 return false;
259}
260
261