- implemented __builtin_return_address(0)
[libfirm] / ir / be / ia32 / bearch_ia32_t.h
index 4f8889d..a85ca4b 100644 (file)
@@ -40,7 +40,7 @@
 #ifdef NDEBUG
 #define SET_IA32_ORIG_NODE(n, o)
 #else  /* ! NDEBUG */
-#define SET_IA32_ORIG_NODE(n, o) set_ia32_orig_node(n, o);
+#define SET_IA32_ORIG_NODE(n, o) set_ia32_orig_node(n, o)
 #endif /* NDEBUG */
 
 /* some typedefs */
@@ -102,15 +102,10 @@ struct ia32_isa_t {
 struct ia32_intrinsic_env_t {
        ia32_isa_t *isa;          /**< the isa object */
        ir_graph   *irg;          /**< the irg, these entities belong to */
-       ir_entity  *ll_div_op1;   /**< entity for first div operand (move into FPU) */
-       ir_entity  *ll_div_op2;   /**< entity for second div operand (move into FPU) */
-       ir_entity  *ll_d_conv;    /**< entity for converts ll -> d */
-       ir_entity  *d_ll_conv;    /**< entity for converts d -> ll */
        ir_entity  *divdi3;       /**< entity for __divdi3 library call */
        ir_entity  *moddi3;       /**< entity for __moddi3 library call */
        ir_entity  *udivdi3;      /**< entity for __udivdi3 library call */
        ir_entity  *umoddi3;      /**< entity for __umoddi3 library call */
-       tarval     *u64_bias;     /**< bias value for conversion from float to unsigned 64 */
 };
 
 typedef enum transformer_t {
@@ -181,4 +176,9 @@ ir_entity *ia32_create_intrinsic_fkt(ir_type *method, const ir_op *op,
                                      const ir_mode *imode, const ir_mode *omode,
                                      void *context);
 
+/**
+ * Return the stack entity that contains the return address.
+ */
+ir_entity *ia32_get_return_address_entity(void);
+
 #endif