00001
00002
00003
00004
00005
00006
00007
00008 #include <lestes/backend_v2/structs/func_data.g.hh>
00009 #include <lestes/backend_v2/intercode/ge.g.hh>
00010
00011 #include <lestes/std/list.hh>
00012 #include <lestes/std/pair.hh>
00013 #include <lestes/std/reflect.hh>
00014
00015 #include <lestes/backend_v2/workers/liveness_analysis.g.hh>
00016
00017 package(lestes);
00018 package(backend_v2);
00019 package(workers);
00020
00021
00022
00023
00024
00025
00026
00027
00028 ptr< ::lestes::backend_v2::structs::func_data > liveness_analysis::data_get() const
00029 {
00030 return data;
00031 }
00032
00033
00034
00035
00036
00037 void liveness_analysis::data_set(const ptr< ::lestes::backend_v2::structs::func_data > & x)
00038 {
00039 liveness_analysis::data = x;
00040 }
00041
00042
00043
00044
00045
00046 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::ge_pi >, srp< ::lestes::std::pair< srp<set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > >, srp<set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > > > > > liveness_analysis::inout_get() const
00047 {
00048 return inout;
00049 }
00050
00051
00052
00053
00054
00055 void liveness_analysis::inout_set(const ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::ge_pi >, srp< ::lestes::std::pair< srp<set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > >, srp<set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > > > > > & x)
00056 {
00057 liveness_analysis::inout = x;
00058 }
00059
00060
00061
00062
00063
00064 ptr< liveness_analysis > liveness_analysis::create(ptr< ::lestes::backend_v2::structs::func_data > a__liveness_analysis__data,
00065 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::ge_pi >, srp< ::lestes::std::pair< srp<set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > >, srp<set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > > > > > a__liveness_analysis__inout)
00066 {
00067 return ptr< liveness_analysis > ( new liveness_analysis(a__liveness_analysis__data,
00068 a__liveness_analysis__inout) );
00069 }
00070
00071
00072
00073
00074
00075 ptr< liveness_analysis > liveness_analysis::create(ptr< ::lestes::backend_v2::structs::func_data > a__liveness_analysis__data)
00076 {
00077 return ptr< liveness_analysis > ( new liveness_analysis(a__liveness_analysis__data, ::lestes::std::map< srp< ::lestes::backend_v2::intercode::ge_pi >, srp< ::lestes::std::pair< srp<set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > >, srp<set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > > > > ::create()) );
00078 }
00079
00080
00081
00082
00083
00084 liveness_analysis::liveness_analysis (ptr< ::lestes::backend_v2::structs::func_data > a__liveness_analysis__data,
00085 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::ge_pi >, srp< ::lestes::std::pair< srp<set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > >, srp<set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > > > > > a__liveness_analysis__inout)
00086 : ::lestes::std::object(), data(checked(a__liveness_analysis__data)), inout(checked(a__liveness_analysis__inout))
00087 {}
00088
00089 ptr< object::reflection_list > liveness_analysis::reflection_get() const
00090 {
00091 if (!reflection) {
00092 typedef class_reflection::field_metadata md;
00093 typedef class_reflection::field_metadata_list mdlist;
00094 ptr<mdlist> mdl = mdlist::create();
00095 mdl->push_back( md::create( "data", "func_data" ) );
00096 mdl->push_back( md::create( "inout", "map< srp< ::lestes::backend_v2::intercode::ge_pi >, srp< ::lestes::std::pair< srp<set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > >, srp<set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > > > >" ) );
00097 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00098 reflection->push_back( class_reflection::create( "liveness_analysis", mdl ) );
00099 }
00100 return reflection;
00101 }
00102
00103 ptr< object::field_list_list > liveness_analysis::field_values_get() const
00104 {
00105 ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00106 result->push_back( value_list::create() );
00107 result->back()->push_back( this->data );
00108 result->push_back( value_list::create() );
00109 result->back()->push_back( this->inout );
00110 return result;
00111 }
00112
00113
00114
00115
00116
00117
00118 void liveness_analysis::gc_mark()
00119 {
00120 ::lestes::std::object::gc_mark();
00121 }
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131 ptr< ::lestes::backend_v2::intercode::ge_operand_reg > liveness_range::operand_get() const
00132 {
00133 return operand;
00134 }
00135
00136
00137
00138
00139
00140 void liveness_range::operand_set(const ptr< ::lestes::backend_v2::intercode::ge_operand_reg > & x)
00141 {
00142 liveness_range::operand = x;
00143 }
00144
00145
00146
00147
00148
00149 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > liveness_range::instructions_get() const
00150 {
00151 return instructions;
00152 }
00153
00154
00155
00156
00157
00158 void liveness_range::instructions_set(const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > & x)
00159 {
00160 liveness_range::instructions = x;
00161 }
00162
00163
00164
00165
00166
00167 ulint liveness_range::start_get() const
00168 {
00169 return start;
00170 }
00171
00172
00173
00174
00175
00176 void liveness_range::start_set(ulint x)
00177 {
00178 liveness_range::start = x;
00179 }
00180
00181
00182
00183
00184
00185 ulint liveness_range::end_get() const
00186 {
00187 return end;
00188 }
00189
00190
00191
00192
00193
00194 void liveness_range::end_set(ulint x)
00195 {
00196 liveness_range::end = x;
00197 }
00198
00199
00200
00201
00202
00203 ptr< liveness_range > liveness_range::create(ptr< ::lestes::backend_v2::intercode::ge_operand_reg > a__liveness_range__operand,
00204 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__liveness_range__instructions,
00205 ulint a__liveness_range__start,
00206 ulint a__liveness_range__end)
00207 {
00208 return ptr< liveness_range > ( new liveness_range(a__liveness_range__operand,
00209 a__liveness_range__instructions,
00210 a__liveness_range__start,
00211 a__liveness_range__end) );
00212 }
00213
00214
00215
00216
00217
00218 ptr< liveness_range > liveness_range::create(ptr< ::lestes::backend_v2::intercode::ge_operand_reg > a__liveness_range__operand,
00219 ulint a__liveness_range__start,
00220 ulint a__liveness_range__end)
00221 {
00222 return ptr< liveness_range > ( new liveness_range(a__liveness_range__operand, ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > ::create(), a__liveness_range__start, a__liveness_range__end) );
00223 }
00224
00225
00226
00227
00228
00229 liveness_range::liveness_range (ptr< ::lestes::backend_v2::intercode::ge_operand_reg > a__liveness_range__operand,
00230 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__liveness_range__instructions,
00231 ulint a__liveness_range__start,
00232 ulint a__liveness_range__end)
00233 : ::lestes::std::object(), operand(checked(a__liveness_range__operand)), instructions(checked(a__liveness_range__instructions)), start(a__liveness_range__start), end(a__liveness_range__end)
00234 {}
00235
00236 ptr< object::reflection_list > liveness_range::reflection_get() const
00237 {
00238 if (!reflection) {
00239 typedef class_reflection::field_metadata md;
00240 typedef class_reflection::field_metadata_list mdlist;
00241 ptr<mdlist> mdl = mdlist::create();
00242 mdl->push_back( md::create( "operand", "ge_operand_reg" ) );
00243 mdl->push_back( md::create( "instructions", "vector< srp< ::lestes::backend_v2::intercode::ge_pi > >" ) );
00244 mdl->push_back( md::create( "start", "ulint" ) );
00245 mdl->push_back( md::create( "end", "ulint" ) );
00246 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00247 reflection->push_back( class_reflection::create( "liveness_range", mdl ) );
00248 }
00249 return reflection;
00250 }
00251
00252 ptr< object::field_list_list > liveness_range::field_values_get() const
00253 {
00254 ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00255 result->push_back( value_list::create() );
00256 result->back()->push_back( this->operand );
00257 result->push_back( value_list::create() );
00258 result->back()->push_back( this->instructions );
00259 result->push_back( value_list::create() );
00260 result->back()->push_back( objectize< ulint > ::create( this->start ) );
00261 result->push_back( value_list::create() );
00262 result->back()->push_back( objectize< ulint > ::create( this->end ) );
00263 return result;
00264 }
00265
00266
00267
00268
00269
00270
00271 void liveness_range::gc_mark()
00272 {
00273 ::lestes::std::object::gc_mark();
00274 }
00275
00276
00277
00278
00279
00280 ptr<object::reflection_list> liveness_analysis::reflection = reflection;
00281 ptr<object::reflection_list> liveness_range::reflection = reflection;
00282
00283 end_package(workers);
00284 end_package(backend_v2);
00285 end_package(lestes);
00286