OLD | NEW |
1 //===- subzero/src/IceAssemblerMIPS32.h - Assembler for MIPS ----*- C++ -*-===// | 1 //===- subzero/src/IceAssemblerMIPS32.h - Assembler for MIPS ----*- C++ -*-===// |
2 // | 2 // |
3 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 3 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
4 // for details. All rights reserved. Use of this source code is governed by a | 4 // for details. All rights reserved. Use of this source code is governed by a |
5 // BSD-style license that can be found in the LICENSE file. | 5 // BSD-style license that can be found in the LICENSE file. |
6 // | 6 // |
7 // Modified by the Subzero authors. | 7 // Modified by the Subzero authors. |
8 // | 8 // |
9 //===----------------------------------------------------------------------===// | 9 //===----------------------------------------------------------------------===// |
10 // | 10 // |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 (void)use_far_branches; | 42 (void)use_far_branches; |
43 } | 43 } |
44 ~AssemblerMIPS32() override = default; | 44 ~AssemblerMIPS32() override = default; |
45 | 45 |
46 void alignFunction() override { | 46 void alignFunction() override { |
47 llvm::report_fatal_error("Not yet implemented."); | 47 llvm::report_fatal_error("Not yet implemented."); |
48 } | 48 } |
49 | 49 |
50 SizeT getBundleAlignLog2Bytes() const override { return 4; } | 50 SizeT getBundleAlignLog2Bytes() const override { return 4; } |
51 | 51 |
52 const char *getNonExecPadDirective() const override { return ".TBD"; } | 52 const char *getNonExecPadDirective() const override { return ".p2alignl"; } |
53 | 53 |
54 llvm::ArrayRef<uint8_t> getNonExecBundlePadding() const override { | 54 llvm::ArrayRef<uint8_t> getNonExecBundlePadding() const override { |
55 llvm::report_fatal_error("Not yet implemented."); | 55 // TODO(reed kotler) . Find out what this should be. |
| 56 static const uint8_t Padding[] = {0xE7, 0xFE, 0xDE, 0xF0}; |
| 57 return llvm::ArrayRef<uint8_t>(Padding, 4); |
56 } | 58 } |
57 | 59 |
58 void padWithNop(intptr_t Padding) override { | 60 void padWithNop(intptr_t Padding) override { |
59 (void)Padding; | 61 (void)Padding; |
60 llvm::report_fatal_error("Not yet implemented."); | 62 llvm::report_fatal_error("Not yet implemented."); |
61 } | 63 } |
62 | 64 |
63 void bindCfgNodeLabel(SizeT NodeNumber) override { | 65 void bindCfgNodeLabel(SizeT NodeNumber) override { |
64 (void)NodeNumber; | 66 (void)NodeNumber; |
65 llvm::report_fatal_error("Not yet implemented."); | 67 llvm::report_fatal_error("Not yet implemented."); |
66 } | 68 } |
67 | 69 |
68 bool fixupIsPCRel(FixupKind Kind) const override { | 70 bool fixupIsPCRel(FixupKind Kind) const override { |
69 (void)Kind; | 71 (void)Kind; |
70 llvm::report_fatal_error("Not yet implemented."); | 72 llvm::report_fatal_error("Not yet implemented."); |
71 } | 73 } |
72 | 74 |
73 static bool classof(const Assembler *Asm) { | 75 static bool classof(const Assembler *Asm) { |
74 return Asm->getKind() == Asm_MIPS32; | 76 return Asm->getKind() == Asm_MIPS32; |
75 } | 77 } |
76 }; | 78 }; |
77 | 79 |
78 } // end of namespace MIPS32 | 80 } // end of namespace MIPS32 |
79 } // end of namespace Ice | 81 } // end of namespace Ice |
80 | 82 |
81 #endif // SUBZERO_SRC_ICEASSEMBLERMIPS32_H | 83 #endif // SUBZERO_SRC_ICEASSEMBLERMIPS32_H |
OLD | NEW |