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"
15 class LIRGeneratorNone
: public LIRGeneratorShared
{
17 LIRGeneratorNone(MIRGenerator
* gen
, MIRGraph
& graph
, LIRGraph
& lirGraph
)
18 : LIRGeneratorShared(gen
, graph
, lirGraph
) {
22 LBoxAllocation
useBoxFixed(MDefinition
*, Register
, Register
,
23 bool useAtStart
= false) {
27 LAllocation
useByteOpRegister(MDefinition
*) { MOZ_CRASH(); }
28 LAllocation
useByteOpRegisterAtStart(MDefinition
*) { MOZ_CRASH(); }
29 LAllocation
useByteOpRegisterOrNonDoubleConstant(MDefinition
*) {
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
*,
42 void lowerUrshD(MUrsh
*) { MOZ_CRASH(); }
43 void lowerPowOfTwoI(MPow
*) { MOZ_CRASH(); }
45 void lowerForALU(T
, MDefinition
*, MDefinition
*, MDefinition
* v
= nullptr) {
49 void lowerForFPU(T
, MDefinition
*, MDefinition
*, MDefinition
* v
= nullptr) {
53 void lowerForALUInt64(T
, MDefinition
*, MDefinition
*,
54 MDefinition
* v
= nullptr) {
57 void lowerForMulInt64(LMulI64
*, MMul
*, MDefinition
*,
58 MDefinition
* v
= nullptr) {
62 void lowerForShiftInt64(T
, MDefinition
*, MDefinition
*,
63 MDefinition
* v
= nullptr) {
66 void lowerForBitAndAndBranch(LBitAndAndBranch
*, MInstruction
*, MDefinition
*,
70 void lowerForCompareI64AndBranch(MTest
*, MCompare
*, JSOp
, MDefinition
*,
71 MDefinition
*, MBasicBlock
*, MBasicBlock
*) {
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
) {
82 void lowerWasmBuiltinTruncateToInt64(MWasmBuiltinTruncateToInt64
* ins
) {
85 void lowerWasmBuiltinTruncateToInt32(MWasmBuiltinTruncateToInt32
* ins
) {
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
,
106 bool canSpecializeWasmCompareAndSelect(MCompare::CompareType compTy
,
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
*) {
122 LTableSwitchV
* newLTableSwitchV(MTableSwitch
*) { MOZ_CRASH(); }
125 typedef LIRGeneratorNone LIRGeneratorSpecific
;
130 #endif /* jit_none_Lowering_none_h */