// $Id$//***************************************************************************// File:// SparcInstrSelection.cpp// // Purpose:// // History:// 7/02/01 - Vikram Adve - Created//***************************************************************************//************************** System Include Files **************************/#include<assert.h>//*************************** User Include Files ***************************/#include"llvm/Type.h"#include"llvm/DerivedTypes.h"#include"llvm/SymbolTable.h"#include"llvm/Value.h"#include"llvm/Instruction.h"#include"llvm/InstrTypes.h"#include"llvm/iTerminators.h"#include"llvm/iMemory.h"#include"llvm/iOther.h"#include"llvm/BasicBlock.h"#include"llvm/Method.h"#include"llvm/ConstPoolVals.h"#include"llvm/LLC/CompileContext.h"#include"llvm/CodeGen/Sparc.h"#include"llvm/CodeGen/MachineInstr.h"#include"llvm/CodeGen/InstrForest.h"#include"llvm/CodeGen/InstrSelection.h"//******************** Internal Data Declarations ************************/// to be used laterstructBranchPattern{boolflipCondition;// should the sense of the test be reversedBasicBlock*targetBB;// which basic block to branch toMachineInstr*extraBranch;// if neither branch is fall-through, then this// BA must be inserted after the cond'l one};//************************* Forward Declarations ***************************/staticMachineOpCode