OLD | NEW |
1 //===- subzero/src/IceTargetLoweringX8632.cpp - x86-32 lowering -----------===// | 1 //===- subzero/src/IceTargetLoweringX8632.cpp - x86-32 lowering -----------===// |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
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 implements the TargetLoweringX8632 class, which | 10 // This file implements the TargetLoweringX8632 class, which |
11 // consists almost entirely of the lowering sequence for each | 11 // consists almost entirely of the lowering sequence for each |
12 // high-level instruction. It also implements | 12 // high-level instruction. It also implements |
13 // TargetX8632Fast::postLower() which does the simplest possible | 13 // TargetX8632Fast::postLower() which does the simplest possible |
14 // register allocation for the "fast" target. | 14 // register allocation for the "fast" target. |
15 // | 15 // |
16 //===----------------------------------------------------------------------===// | 16 //===----------------------------------------------------------------------===// |
17 | 17 |
18 #include "IceDefs.h" | 18 #include "llvm/ADT/DenseMap.h" |
| 19 #include "llvm/Support/CommandLine.h" |
| 20 #include "llvm/Support/MathExtras.h" |
| 21 |
19 #include "IceCfg.h" | 22 #include "IceCfg.h" |
20 #include "IceCfgNode.h" | 23 #include "IceCfgNode.h" |
21 #include "IceClFlags.h" | 24 #include "IceClFlags.h" |
| 25 #include "IceDefs.h" |
22 #include "IceInstX8632.h" | 26 #include "IceInstX8632.h" |
23 #include "IceOperand.h" | 27 #include "IceOperand.h" |
24 #include "IceRegistersX8632.h" | 28 #include "IceRegistersX8632.h" |
25 #include "IceTargetLoweringX8632.def" | 29 #include "IceTargetLoweringX8632.def" |
26 #include "IceTargetLoweringX8632.h" | 30 #include "IceTargetLoweringX8632.h" |
27 #include "IceUtils.h" | 31 #include "IceUtils.h" |
28 #include "llvm/ADT/DenseMap.h" | |
29 #include "llvm/Support/MathExtras.h" | |
30 #include "llvm/Support/CommandLine.h" | |
31 | 32 |
32 namespace Ice { | 33 namespace Ice { |
33 | 34 |
34 namespace { | 35 namespace { |
35 | 36 |
36 // The following table summarizes the logic for lowering the fcmp | 37 // The following table summarizes the logic for lowering the fcmp |
37 // instruction. There is one table entry for each of the 16 conditions. | 38 // instruction. There is one table entry for each of the 16 conditions. |
38 // | 39 // |
39 // The first four columns describe the case when the operands are | 40 // The first four columns describe the case when the operands are |
40 // floating point scalar values. A comment in lowerFcmp() describes the | 41 // floating point scalar values. A comment in lowerFcmp() describes the |
(...skipping 4485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4526 Str << "\t.align\t" << Align << "\n"; | 4527 Str << "\t.align\t" << Align << "\n"; |
4527 Str << MangledName << ":\n"; | 4528 Str << MangledName << ":\n"; |
4528 for (SizeT i = 0; i < Size; ++i) { | 4529 for (SizeT i = 0; i < Size; ++i) { |
4529 Str << "\t.byte\t" << (((unsigned)Data[i]) & 0xff) << "\n"; | 4530 Str << "\t.byte\t" << (((unsigned)Data[i]) & 0xff) << "\n"; |
4530 } | 4531 } |
4531 Str << "\t.size\t" << MangledName << ", " << Size << "\n"; | 4532 Str << "\t.size\t" << MangledName << ", " << Size << "\n"; |
4532 } | 4533 } |
4533 } | 4534 } |
4534 | 4535 |
4535 } // end of namespace Ice | 4536 } // end of namespace Ice |
OLD | NEW |