LLVM API Documentation

Target/CBackend/Writer.cpp File Reference

#include "CTargetMachine.h"
#include "llvm/CallingConv.h"
#include "llvm/Constants.h"
#include "llvm/DerivedTypes.h"
#include "llvm/Module.h"
#include "llvm/Instructions.h"
#include "llvm/Pass.h"
#include "llvm/PassManager.h"
#include "llvm/SymbolTable.h"
#include "llvm/Intrinsics.h"
#include "llvm/IntrinsicInst.h"
#include "llvm/Analysis/ConstantsScanner.h"
#include "llvm/Analysis/FindUsedTypes.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/CodeGen/IntrinsicLowering.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Target/TargetMachineRegistry.h"
#include "llvm/Support/CallSite.h"
#include "llvm/Support/CFG.h"
#include "llvm/Support/GetElementPtrTypeIterator.h"
#include "llvm/Support/InstVisitor.h"
#include "llvm/Support/Mangler.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Config/config.h"
#include <algorithm>
#include <iostream>
#include <ios>
#include <sstream>
#include "llvm/Intrinsics.gen"

Include dependency graph for Target/CBackend/Writer.cpp:

Go to the source code of this file.

Defines

#define GET_GCC_BUILTIN_NAME
#define GET_GCC_BUILTIN_NAME

Enumerations

enum  SpecialGlobalClass { NotSpecial = 0, GlobalCtors, GlobalDtors, NotPrinted }

Functions

static bool isFPCSafeToPrint (const ConstantFP *CFP)
static void generateCompilerSpecificCode (std::ostream &Out)
static void FindStaticTors (GlobalVariable *GV, std::set< Function * > &StaticTors)
static SpecialGlobalClass getGlobalVariableClass (const GlobalVariable *GV)

Variables

RegisterTarget< CTargetMachineX ("c"," C backend")


Define Documentation

#define GET_GCC_BUILTIN_NAME

#define GET_GCC_BUILTIN_NAME


Enumeration Type Documentation

enum SpecialGlobalClass

Enumerator:
NotSpecial 
GlobalCtors 
GlobalDtors 
NotPrinted 

Definition at line 971 of file Target/CBackend/Writer.cpp.


Function Documentation

static void FindStaticTors ( GlobalVariable GV,
std::set< Function * > &  StaticTors 
) [static]

FindStaticTors - Given a static ctor/dtor list, unpack its contents into the StaticTors set.

Definition at line 952 of file Target/CBackend/Writer.cpp.

References F, llvm::User::getNumOperands(), llvm::Constant::getOperand(), and GV.

static void generateCompilerSpecificCode ( std::ostream &  Out  )  [static]

Definition at line 833 of file Target/CBackend/Writer.cpp.

static SpecialGlobalClass getGlobalVariableClass ( const GlobalVariable GV  )  [static]

getGlobalVariableClass - If this is a global that is specially recognized by LLVM, return a code that indicates how we should handle it.

Definition at line 979 of file Target/CBackend/Writer.cpp.

References llvm::Value::getName(), llvm::GlobalValue::getSection(), GlobalCtors, GlobalDtors, GV, llvm::GlobalValue::hasAppendingLinkage(), NotSpecial, and llvm::Value::use_empty().

static bool isFPCSafeToPrint ( const ConstantFP CFP  )  [static]

Definition at line 532 of file Target/CBackend/Writer.cpp.

References Buffer, llvm::ftostr(), and llvm::ConstantFP::getValue().


Variable Documentation

std::map<const ConstantFP *, unsigned> FPConstantMap

Definition at line 78 of file Target/CBackend/Writer.cpp.

DefaultIntrinsicLowering IL

Definition at line 72 of file Target/CBackend/Writer.cpp.

LoopInfo* LI

Definition at line 74 of file Target/CBackend/Writer.cpp.

Mangler* Mang

Definition at line 73 of file Target/CBackend/Writer.cpp.

std::ostream& Out

Definition at line 71 of file Target/CBackend/Writer.cpp.

const Module* TheModule

Definition at line 75 of file Target/CBackend/Writer.cpp.

std::map<const Type *, std::string> TypeNames

Definition at line 76 of file Target/CBackend/Writer.cpp.

Referenced by llvm::WriteAsOperand(), and llvm::WriteTypeSymbolic().

RegisterTarget<CTargetMachine> X("c"," C backend") [static]