LLVM API Documentation
00001 //===- SPUSubtarget.cpp - STI Cell SPU Subtarget Information --------------===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // This file implements the CellSPU-specific subclass of TargetSubtarget. 00011 // 00012 //===----------------------------------------------------------------------===// 00013 00014 #include "SPUSubtarget.h" 00015 #include "SPU.h" 00016 #include "llvm/Module.h" 00017 #include "llvm/Target/TargetMachine.h" 00018 #include "SPUGenSubtarget.inc" 00019 00020 using namespace llvm; 00021 00022 SPUSubtarget::SPUSubtarget(const TargetMachine &tm, const Module &M, 00023 const std::string &FS) : 00024 TM(tm), 00025 StackAlignment(16), 00026 ProcDirective(SPU::DEFAULT_PROC), 00027 UseLargeMem(false) 00028 { 00029 // Should be the target SPU processor type. For now, since there's only 00030 // one, simply default to the current "v0" default: 00031 std::string default_cpu("v0"); 00032 00033 // Parse features string. 00034 ParseSubtargetFeatures(FS, default_cpu); 00035 } 00036 00037 /// SetJITMode - This is called to inform the subtarget info that we are 00038 /// producing code for the JIT. 00039 void SPUSubtarget::SetJITMode() { 00040 }