34 rivejä
844 B
C++
34 rivejä
844 B
C++
//
|
|
// Copyright (c) 2008 Advanced Micro Devices, Inc. All rights reserved.
|
|
//
|
|
#ifndef _BE_BACKEND_HPP_
|
|
#define _BE_BACKEND_HPP_
|
|
#include "compiler_stage.hpp"
|
|
|
|
namespace amdcl
|
|
{
|
|
/*! \addtogroup Compiler Library
|
|
*
|
|
* \copydoc amdcl::Backend
|
|
*
|
|
* @{
|
|
*/
|
|
class Backend : public CompilerStage {
|
|
Backend(Backend&); // DO NOT IMPLEMENT.
|
|
Backend(); // DO NOT IMPLEMENT.
|
|
public:
|
|
Backend(aclCompiler *cl, aclBinary *elf, aclLogFunction log)
|
|
: CompilerStage(cl, elf, log) {}
|
|
|
|
virtual ~Backend() {}
|
|
|
|
/*! Function that takes in a string that is a source file
|
|
* and generates the backend binary that is then
|
|
* inserted into the elf file at the correct location.
|
|
*/
|
|
virtual int jit(const std::string &source) = 0;
|
|
}; // class Backend
|
|
/*@}*/
|
|
}; // amdcl namespace
|
|
#endif // _BE_BACKEND_HPP
|