equal
deleted
inserted
replaced
59 public: |
59 public: |
60 ProjNode( Node *src, uint con, bool io_use = false ) |
60 ProjNode( Node *src, uint con, bool io_use = false ) |
61 : Node( src ), _con(con), _is_io_use(io_use) |
61 : Node( src ), _con(con), _is_io_use(io_use) |
62 { |
62 { |
63 init_class_id(Class_Proj); |
63 init_class_id(Class_Proj); |
|
64 // Optimistic setting. Need additional checks in Node::is_dead_loop_safe(). |
|
65 if (con != TypeFunc::Memory || src->is_Start()) |
|
66 init_flags(Flag_is_dead_loop_safe); |
64 debug_only(check_con()); |
67 debug_only(check_con()); |
65 } |
68 } |
66 const uint _con; // The field in the tuple we are projecting |
69 const uint _con; // The field in the tuple we are projecting |
67 const bool _is_io_use; // Used to distinguish between the projections |
70 const bool _is_io_use; // Used to distinguish between the projections |
68 // used on the control and io paths from a macro node |
71 // used on the control and io paths from a macro node |