i965: Make backend_instruction usable from C.

With a hack to place an exec_node in the struct in C to be at the same
location as the inherited exec_node in C++.

Acked-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
This commit is contained in:
Matt Turner
2014-06-29 18:21:30 -07:00
parent 0db30fcf89
commit 6d3e24a5c2
+7 -4
View File
@@ -78,12 +78,10 @@ struct backend_reg
bool abs;
};
#ifdef __cplusplus
struct cfg_t;
#ifdef __cplusplus
struct backend_instruction : public exec_node {
public:
bool is_tex() const;
bool is_math() const;
bool is_control_flow() const;
@@ -98,7 +96,10 @@ public:
* optimize these out unless you know what you are doing.
*/
bool has_side_effects() const;
#else
struct backend_instruction {
struct exec_node link;
#endif
/** @{
* Annotation for the generated IR. One of the two can be set.
*/
@@ -124,6 +125,8 @@ public:
bool saturate:1;
};
#ifdef __cplusplus
enum instruction_scheduler_mode {
SCHEDULE_PRE,
SCHEDULE_PRE_NON_LIFO,