Move sparc specific code into the Sparc backend
[oota-llvm.git] / include / llvm / CodeGen / InstrSelectionSupport.h
1 //===-- llvm/CodeGen/InstrSelectionSupport.h --------------------*- C++ -*-===//
2 //
3 //  Target-independent instruction selection code.  See SparcInstrSelection.cpp
4 //  for usage.
5 //      
6 //===----------------------------------------------------------------------===//
7
8 #ifndef LLVM_CODEGEN_INSTR_SELECTION_SUPPORT_H
9 #define LLVM_CODEGEN_INSTR_SELECTION_SUPPORT_H
10
11 #include "llvm/CodeGen/MachineInstr.h"
12 #include "Support/DataTypes.h"
13 class InstructionNode;
14 class TargetMachine;
15 class Instruction;
16
17 //---------------------------------------------------------------------------
18 // Function: ChooseRegOrImmed
19 // 
20 // Purpose:
21 // 
22 //---------------------------------------------------------------------------
23
24 MachineOperand::MachineOperandType ChooseRegOrImmed(
25                                          Value* val,
26                                          MachineOpCode opCode,
27                                          const TargetMachine& targetMachine,
28                                          bool canUseImmed,
29                                          unsigned& getMachineRegNum,
30                                          int64_t& getImmedValue);
31
32 MachineOperand::MachineOperandType ChooseRegOrImmed(int64_t intValue,
33                                          bool isSigned,
34                                          MachineOpCode opCode,
35                                          const TargetMachine& target,
36                                          bool canUseImmed,
37                                          unsigned& getMachineRegNum,
38                                          int64_t& getImmedValue);
39
40 #endif