| Index: src/IceTargetLowering.h
|
| diff --git a/src/IceTargetLowering.h b/src/IceTargetLowering.h
|
| index 3d139c0bc0ce73586a11c6d346eee7b5231c85b0..4d6db490a4aa53b81569a9ccc551acb8afeb8c57 100644
|
| --- a/src/IceTargetLowering.h
|
| +++ b/src/IceTargetLowering.h
|
| @@ -146,9 +146,9 @@ class TargetLowering {
|
| public:
|
| // TODO(jvoung): return a unique_ptr like the other factory functions.
|
| static TargetLowering *createLowering(TargetArch Target, Cfg *Func);
|
| - static void staticInit(TargetArch Target);
|
| + static void staticInit(const ClFlags &Flags);
|
| // Each target must define a public static method:
|
| - // static void staticInit();
|
| + // static void staticInit(const ClFlags &Flags);
|
| static std::unique_ptr<Assembler> createAssembler(TargetArch Target,
|
| Cfg *Func);
|
| void translate() {
|
| @@ -234,6 +234,8 @@ public:
|
| SizeT makeNextLabelNumber() { return NextLabelNumber++; }
|
| SizeT makeNextJumpTableNumber() { return NextJumpTableNumber++; }
|
| LoweringContext &getContext() { return Context; }
|
| + Cfg *getFunc() const { return Func; }
|
| + GlobalContext *getGlobalContext() const { return Ctx; }
|
|
|
| enum RegSet {
|
| RegSet_None = 0,
|
| @@ -266,15 +268,15 @@ public:
|
|
|
| virtual void emitVariable(const Variable *Var) const = 0;
|
|
|
| - void emitWithoutPrefix(const ConstantRelocatable *CR) const;
|
| - void emit(const ConstantRelocatable *CR) const;
|
| - virtual const char *getConstantPrefix() const = 0;
|
| + void emitWithoutPrefix(const ConstantRelocatable *CR,
|
| + const char *Suffix = "") const;
|
|
|
| - virtual void emit(const ConstantUndef *C) const = 0;
|
| virtual void emit(const ConstantInteger32 *C) const = 0;
|
| virtual void emit(const ConstantInteger64 *C) const = 0;
|
| virtual void emit(const ConstantFloat *C) const = 0;
|
| virtual void emit(const ConstantDouble *C) const = 0;
|
| + virtual void emit(const ConstantUndef *C) const = 0;
|
| + virtual void emit(const ConstantRelocatable *CR) const = 0;
|
|
|
| /// Performs target-specific argument lowering.
|
| virtual void lowerArguments() = 0;
|
| @@ -415,6 +417,7 @@ protected:
|
| const static constexpr char *H_fptoui_f64_i64 = "__Sz_fptoui_f64_i64";
|
| const static constexpr char *H_frem_f32 = "fmodf";
|
| const static constexpr char *H_frem_f64 = "fmod";
|
| + const static constexpr char *H_getIP_prefix = "__Sz_getIP_";
|
| const static constexpr char *H_sdiv_i32 = "__divsi3";
|
| const static constexpr char *H_sdiv_i64 = "__divdi3";
|
| const static constexpr char *H_sitofp_i64_f32 = "__Sz_sitofp_i64_f32";
|
|
|