Bug 1867190 - Add prefs for PHC probablities r=glandium
[gecko.git] / js / src / jit / none / Lowering-none.h
blobad804b970bb6f6b192f39090dce13604f6690457
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 * vim: set ts=8 sts=2 et sw=2 tw=80:
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef jit_none_Lowering_none_h
8 #define jit_none_Lowering_none_h
10 #include "jit/shared/Lowering-shared.h"
12 namespace js {
13 namespace jit {
15 class LIRGeneratorNone : public LIRGeneratorShared {
16 protected:
17 LIRGeneratorNone(MIRGenerator* gen, MIRGraph& graph, LIRGraph& lirGraph)
18 : LIRGeneratorShared(gen, graph, lirGraph) {
19 MOZ_CRASH();
22 LBoxAllocation useBoxFixed(MDefinition*, Register, Register,
23 bool useAtStart = false) {
24 MOZ_CRASH();
27 LAllocation useByteOpRegister(MDefinition*) { MOZ_CRASH(); }
28 LAllocation useByteOpRegisterAtStart(MDefinition*) { MOZ_CRASH(); }
29 LAllocation useByteOpRegisterOrNonDoubleConstant(MDefinition*) {
30 MOZ_CRASH();
32 LDefinition tempByteOpRegister() { MOZ_CRASH(); }
33 LDefinition tempToUnbox() { MOZ_CRASH(); }
34 bool needTempForPostBarrier() { MOZ_CRASH(); }
35 void lowerUntypedPhiInput(MPhi*, uint32_t, LBlock*, size_t) { MOZ_CRASH(); }
36 void lowerInt64PhiInput(MPhi*, uint32_t, LBlock*, size_t) { MOZ_CRASH(); }
37 void defineInt64Phi(MPhi*, size_t) { MOZ_CRASH(); }
38 void lowerForShift(LInstructionHelper<1, 2, 0>*, MDefinition*, MDefinition*,
39 MDefinition*) {
40 MOZ_CRASH();
42 void lowerUrshD(MUrsh*) { MOZ_CRASH(); }
43 void lowerPowOfTwoI(MPow*) { MOZ_CRASH(); }
44 template <typename T>
45 void lowerForALU(T, MDefinition*, MDefinition*, MDefinition* v = nullptr) {
46 MOZ_CRASH();
48 template <typename T>
49 void lowerForFPU(T, MDefinition*, MDefinition*, MDefinition* v = nullptr) {
50 MOZ_CRASH();
52 template <typename T>
53 void lowerForALUInt64(T, MDefinition*, MDefinition*,
54 MDefinition* v = nullptr) {
55 MOZ_CRASH();
57 void lowerForMulInt64(LMulI64*, MMul*, MDefinition*,
58 MDefinition* v = nullptr) {
59 MOZ_CRASH();
61 template <typename T>
62 void lowerForShiftInt64(T, MDefinition*, MDefinition*,
63 MDefinition* v = nullptr) {
64 MOZ_CRASH();
66 void lowerForBitAndAndBranch(LBitAndAndBranch*, MInstruction*, MDefinition*,
67 MDefinition*) {
68 MOZ_CRASH();
70 void lowerForCompareI64AndBranch(MTest*, MCompare*, JSOp, MDefinition*,
71 MDefinition*, MBasicBlock*, MBasicBlock*) {
72 MOZ_CRASH();
75 void lowerConstantDouble(double, MInstruction*) { MOZ_CRASH(); }
76 void lowerConstantFloat32(float, MInstruction*) { MOZ_CRASH(); }
77 void lowerTruncateDToInt32(MTruncateToInt32*) { MOZ_CRASH(); }
78 void lowerTruncateFToInt32(MTruncateToInt32*) { MOZ_CRASH(); }
79 void lowerBuiltinInt64ToFloatingPoint(MBuiltinInt64ToFloatingPoint* ins) {
80 MOZ_CRASH();
82 void lowerWasmBuiltinTruncateToInt64(MWasmBuiltinTruncateToInt64* ins) {
83 MOZ_CRASH();
85 void lowerWasmBuiltinTruncateToInt32(MWasmBuiltinTruncateToInt32* ins) {
86 MOZ_CRASH();
88 void lowerDivI(MDiv*) { MOZ_CRASH(); }
89 void lowerModI(MMod*) { MOZ_CRASH(); }
90 void lowerDivI64(MDiv*) { MOZ_CRASH(); }
91 void lowerWasmBuiltinDivI64(MWasmBuiltinDivI64* div) { MOZ_CRASH(); }
92 void lowerModI64(MMod*) { MOZ_CRASH(); }
93 void lowerWasmBuiltinModI64(MWasmBuiltinModI64* mod) { MOZ_CRASH(); }
94 void lowerNegI(MInstruction*, MDefinition*) { MOZ_CRASH(); }
95 void lowerNegI64(MInstruction*, MDefinition*) { MOZ_CRASH(); }
96 void lowerMulI(MMul*, MDefinition*, MDefinition*) { MOZ_CRASH(); }
97 void lowerUDiv(MDiv*) { MOZ_CRASH(); }
98 void lowerUMod(MMod*) { MOZ_CRASH(); }
99 void lowerWasmSelectI(MWasmSelect* select) { MOZ_CRASH(); }
100 void lowerWasmSelectI64(MWasmSelect* select) { MOZ_CRASH(); }
101 void lowerWasmCompareAndSelect(MWasmSelect* ins, MDefinition* lhs,
102 MDefinition* rhs, MCompare::CompareType compTy,
103 JSOp jsop) {
104 MOZ_CRASH();
106 bool canSpecializeWasmCompareAndSelect(MCompare::CompareType compTy,
107 MIRType insTy) {
108 MOZ_CRASH();
111 void lowerBigIntLsh(MBigIntLsh*) { MOZ_CRASH(); }
112 void lowerBigIntRsh(MBigIntRsh*) { MOZ_CRASH(); }
113 void lowerBigIntDiv(MBigIntDiv*) { MOZ_CRASH(); }
114 void lowerBigIntMod(MBigIntMod*) { MOZ_CRASH(); }
116 void lowerAtomicLoad64(MLoadUnboxedScalar*) { MOZ_CRASH(); }
117 void lowerAtomicStore64(MStoreUnboxedScalar*) { MOZ_CRASH(); }
119 LTableSwitch* newLTableSwitch(LAllocation, LDefinition, MTableSwitch*) {
120 MOZ_CRASH();
122 LTableSwitchV* newLTableSwitchV(MTableSwitch*) { MOZ_CRASH(); }
125 typedef LIRGeneratorNone LIRGeneratorSpecific;
127 } // namespace jit
128 } // namespace js
130 #endif /* jit_none_Lowering_none_h */