| Index: src/IceCfg.h
|
| diff --git a/src/IceCfg.h b/src/IceCfg.h
|
| index 73dd814e9c05b775a98e14718634988d77cce43f..1de77956951b741e19b4e68803327307257960a2 100644
|
| --- a/src/IceCfg.h
|
| +++ b/src/IceCfg.h
|
| @@ -17,6 +17,9 @@
|
|
|
| #include "IceDefs.h"
|
| #include "IceTypes.h"
|
| +
|
| +#include "assembler.h"
|
| +#include "IceClFlags.h"
|
| #include "IceGlobalContext.h"
|
|
|
| #include "llvm/ADT/OwningPtr.h"
|
| @@ -86,6 +89,12 @@ public:
|
| TargetLowering *getTarget() const { return Target.get(); }
|
| VariablesMetadata *getVMetadata() const { return VMetadata.get(); }
|
| Liveness *getLiveness() const { return Live.get(); }
|
| + template <typename T> T *getAssembler() const {
|
| + return static_cast<T *>(TargetAssembler.get());
|
| + }
|
| + bool UseIntegratedAssembler() const {
|
| + return getContext()->getFlags().UseIntegratedAssembler;
|
| + }
|
| bool hasComputedFrame() const;
|
|
|
| // Passes over the CFG.
|
| @@ -166,6 +175,7 @@ private:
|
| llvm::OwningPtr<Liveness> Live;
|
| llvm::OwningPtr<TargetLowering> Target;
|
| llvm::OwningPtr<VariablesMetadata> VMetadata;
|
| + llvm::OwningPtr<Assembler> TargetAssembler;
|
|
|
| // CurrentNode is maintained during dumping/emitting just for
|
| // validating Variable::DefNode. Normally, a traversal over
|
|
|