LLVM API Documentation

SPUSubtarget.cpp

Go to the documentation of this file.
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 }