summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/backend/instruction-selector-impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/backend/instruction-selector-impl.h')
-rw-r--r--deps/v8/src/compiler/backend/instruction-selector-impl.h25
1 files changed, 12 insertions, 13 deletions
diff --git a/deps/v8/src/compiler/backend/instruction-selector-impl.h b/deps/v8/src/compiler/backend/instruction-selector-impl.h
index a3f62e7ba4..13ea049eba 100644
--- a/deps/v8/src/compiler/backend/instruction-selector-impl.h
+++ b/deps/v8/src/compiler/backend/instruction-selector-impl.h
@@ -29,8 +29,8 @@ inline bool operator<(const CaseInfo& l, const CaseInfo& r) {
// Helper struct containing data about a table or lookup switch.
class SwitchInfo {
public:
- SwitchInfo(ZoneVector<CaseInfo>& cases, // NOLINT(runtime/references)
- int32_t min_value, int32_t max_value, BasicBlock* default_branch)
+ SwitchInfo(ZoneVector<CaseInfo> const& cases, int32_t min_value,
+ int32_t max_value, BasicBlock* default_branch)
: cases_(cases),
min_value_(min_value),
max_value_(max_value),
@@ -193,17 +193,6 @@ class OperandGenerator {
reg.code(), GetVReg(node)));
}
- InstructionOperand UseExplicit(LinkageLocation location) {
- MachineRepresentation rep = InstructionSequence::DefaultRepresentation();
- if (location.IsRegister()) {
- return ExplicitOperand(LocationOperand::REGISTER, rep,
- location.AsRegister());
- } else {
- return ExplicitOperand(LocationOperand::STACK_SLOT, rep,
- location.GetLocation());
- }
- }
-
InstructionOperand UseImmediate(int immediate) {
return sequence()->AddImmediate(Constant(immediate));
}
@@ -275,6 +264,16 @@ class OperandGenerator {
InstructionOperand::kInvalidVirtualRegister);
}
+ template <typename FPRegType>
+ InstructionOperand TempFpRegister(FPRegType reg) {
+ UnallocatedOperand op =
+ UnallocatedOperand(UnallocatedOperand::FIXED_FP_REGISTER, reg.code(),
+ sequence()->NextVirtualRegister());
+ sequence()->MarkAsRepresentation(MachineRepresentation::kSimd128,
+ op.virtual_register());
+ return op;
+ }
+
InstructionOperand TempImmediate(int32_t imm) {
return sequence()->AddImmediate(Constant(imm));
}