| Index: lib/Target/PNaCl/PNaClTargetMachine.h
|
| ===================================================================
|
| --- lib/Target/PNaCl/PNaClTargetMachine.h (revision 0)
|
| +++ lib/Target/PNaCl/PNaClTargetMachine.h (revision 0)
|
| @@ -0,0 +1,45 @@
|
| +//===-- PNaClTargetMachine.h - TargetMachine for the PNaCl --*- C++ -*-===//
|
| +//
|
| +// The LLVM Compiler Infrastructure
|
| +//
|
| +// This file is distributed under the University of Illinois Open Source
|
| +// License. See LICENSE.TXT for details.
|
| +//
|
| +//===----------------------------------------------------------------------===//
|
| +//
|
| +// This file declares the PNaCl-specific subclass of TargetMachine.
|
| +//
|
| +//===----------------------------------------------------------------------===//
|
| +
|
| +#ifndef PNACLTARGETMACHINE_H
|
| +#define PNACLTARGETMACHINE_H
|
| +
|
| +#include "llvm/Target/TargetMachine.h"
|
| +#include "llvm/Target/TargetData.h"
|
| +
|
| +namespace llvm {
|
| +
|
| +class formatted_raw_ostream;
|
| +
|
| +class PNaClTargetMachine : public TargetMachine {
|
| + const TargetData DataLayout; // Calculates type size & alignment
|
| +
|
| +public:
|
| + PNaClTargetMachine(const Target &T, StringRef TT,
|
| + StringRef CPU, StringRef FS,
|
| + Reloc::Model RM, CodeModel::Model CM);
|
| +
|
| + virtual bool addPassesToEmitFile(PassManagerBase &PM,
|
| + formatted_raw_ostream &Out,
|
| + CodeGenFileType FileType,
|
| + CodeGenOpt::Level OptLevel,
|
| + bool DisableVerify);
|
| +
|
| + virtual const TargetData *getTargetData() const { return &DataLayout; }
|
| +};
|
| +
|
| +extern Target ThePNaClTarget;
|
| +
|
| +} // end namespace llvm
|
| +
|
| +#endif
|
|
|