* [Bug tree-optimization/103050] [12 Regression] 520.omnetpp_r miscompiled after r12-4787-gb8ef019ab938471f
2021-11-02 18:24 [Bug tree-optimization/103050] New: [12 Regression] 520.omnetpp_r miscompiled after r12-4787-gb8ef019ab938471f marxin at gcc dot gnu.org
` (6 preceding siblings ...)
2021-11-02 19:58 ` marxin at gcc dot gnu.org
@ 2021-11-02 20:06 ` marxin at gcc dot gnu.org
2021-11-02 20:08 ` marxin at gcc dot gnu.org
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-11-02 20:06 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103050
--- Comment #8 from Martin Liška <marxin at gcc dot gnu.org> ---
So the only 2 transform happen here:
(gdb) bt
#0 gimple_call_retslot_flags (stmt=0x7ffff4543b40) at
/home/marxin/Programming/gcc/gcc/gimple.c:1644
#1 0x0000000000ff6128 in handle_rhs_call (stmt=0x7ffff4543b40,
results=0x7fffffffc750, implicit_eaf_flags=0, writes_global_memory=<optimized
out>, reads_global_memory=<optimized out>) at
/home/marxin/Programming/gcc/gcc/tree-ssa-structalias.c:4266
#2 0x0000000000ff9103 in find_func_aliases_for_call (t=<optimized out>,
fn=<optimized out>) at
/home/marxin/Programming/gcc/gcc/tree-ssa-structalias.c:4921
#3 find_func_aliases (fn=<optimized out>, origt=<optimized out>) at
/home/marxin/Programming/gcc/gcc/tree-ssa-structalias.c:5024
#4 0x0000000000ffac9b in compute_points_to_sets () at
/home/marxin/Programming/gcc/gcc/tree-ssa-structalias.c:7440
#5 compute_may_aliases () at
/home/marxin/Programming/gcc/gcc/tree-ssa-structalias.c:7948
#6 0x0000000000cf2f2d in execute_function_todo (fn=0x7ffff7133f00,
data=<optimized out>) at /home/marxin/Programming/gcc/gcc/passes.c:2014
#7 0x0000000000cf347c in execute_todo (flags=1572864) at
/home/marxin/Programming/gcc/gcc/passes.c:2096
#8 0x0000000000cf60fe in execute_one_pass (pass=0x282cae0) at
/home/marxin/Programming/gcc/gcc/passes.c:2560
#9 0x0000000000cf6a13 in execute_pass_list_1 (pass=0x282cae0) at
/home/marxin/Programming/gcc/gcc/passes.c:2656
#10 0x0000000000cf6a25 in execute_pass_list_1 (pass=0x282ba00) at
/home/marxin/Programming/gcc/gcc/passes.c:2657
#11 0x0000000000cf6a56 in execute_pass_list (fn=0x7ffff7133f00, pass=<optimized
out>) at /home/marxin/Programming/gcc/gcc/passes.c:2667
#12 0x00000000009424f5 in cgraph_node::expand (this=0x7ffff730ddd0) at
/home/marxin/Programming/gcc/gcc/context.h:48
#13 cgraph_node::expand (this=0x7ffff730ddd0) at
/home/marxin/Programming/gcc/gcc/cgraphunit.c:1781
#14 0x0000000000943b6f in expand_all_functions () at
/home/marxin/Programming/gcc/gcc/cgraphunit.c:1992
#15 symbol_table::compile (this=0x7ffff765a000) at
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2356
#16 symbol_table::compile (this=0x7ffff765a000) at
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2267
#17 0x0000000000896c80 in lto_main () at
/home/marxin/Programming/gcc/gcc/lto/lto.c:653
#18 0x0000000000ddcd24 in compile_file () at
/home/marxin/Programming/gcc/gcc/toplev.c:452
#19 0x000000000086d91b in do_compile (no_backend=false) at
/home/marxin/Programming/gcc/gcc/toplev.c:2154
#20 toplev::main (this=this@entry=0x7fffffffccfe, argc=<optimized out>,
argc@entry=198, argv=<optimized out>, argv@entry=0x7fffffffce48) at
/home/marxin/Programming/gcc/gcc/toplev.c:2306
#21 0x0000000000870fd5 in main (argc=198, argv=0x7fffffffce48) at
/home/marxin/Programming/gcc/gcc/main.c:39
(gdb) p debug_gimple_stmt(stmt)
# .MEM_271 = VDEF <.MEM_270>
D.31174 = opp_quotestr (name_22); [return slot optimization]
(gdb) p debug_function(cfun->decl, 0)
void recordScalar (struct cFileOutputScalarManager * const this, struct
cComponent * component, const char * name, double value, struct opp_string_map
* attributes)
{
const char * s;
const char * s;
struct _Rb_tree_node_base * const it$_M_node;
struct string D.31180;
struct string D.31179;
struct string D.31178;
struct string D.31177;
struct string D.31176;
struct string D.31175;
struct string D.31174;
struct string D.31173;
struct basic_string D.31172;
struct basic_string D.31171;
bool _1;
struct FILE * _2;
char _3;
int (*__vtbl_ptr_type) () * _4;
int (*__vtbl_ptr_type) () _5;
int (*__vtbl_ptr_type) () * _6;
int (*__vtbl_ptr_type) () _7;
struct cConfigOption * _8;
struct cObject * _9;
int (*__vtbl_ptr_type) () * _11;
int (*__vtbl_ptr_type) () _12;
int _13;
int (*__vtbl_ptr_type) () * _14;
int (*__vtbl_ptr_type) () _15;
int (*__vtbl_ptr_type) () * _16;
int (*__vtbl_ptr_type) () _17;
int (*__vtbl_ptr_type) () * _18;
int (*__vtbl_ptr_type) () _19;
struct FILE * _20;
struct FILE * _21;
const char * _23;
bool _24;
const char * _25;
bool _26;
bool _27;
bool _28;
bool _29;
bool _30;
const char * _31;
bool _32;
bool _33;
const char * _34;
bool _35;
bool _36;
char * _67;
struct cConfiguration * _69;
long unsigned int _74;
bool _76;
bool _81;
long unsigned int _83;
bool _86;
char * _88;
char * _90;
char * _92;
int _95;
struct cEnvir * _102;
char * _103;
char * _104;
char * _107;
long unsigned int _108;
long unsigned int _109;
long unsigned int _110;
long unsigned int _112;
bool _114;
char * _115;
char * _116;
long unsigned int _117;
long unsigned int _119;
int _121;
void * _126;
char * _127;
void * _133;
char * _134;
long unsigned int _144;
long unsigned int _145;
char * _146;
long unsigned int _147;
long unsigned int _148;
char * _149;
long unsigned int _150;
long unsigned int _151;
char * _152;
long unsigned int _153;
long unsigned int _154;
char * _155;
const char * _156;
struct _Rb_tree_node_base * _157;
char * _158;
char * _162;
char * _165;
char _167;
char * _169;
char * _171;
long unsigned int _172;
long unsigned int _173;
char * _174;
long unsigned int _175;
long unsigned int _176;
char * _177;
const char * _178;
struct _Rb_tree_node_base * _179;
char * _181;
long unsigned int _182;
long unsigned int _183;
char * _184;
long unsigned int _185;
long unsigned int _186;
char * _187;
long unsigned int _188;
long unsigned int _189;
char * _190;
long unsigned int _191;
long unsigned int _192;
char * _193;
long unsigned int _194;
long unsigned int _195;
char * _196;
long unsigned int _197;
long unsigned int _198;
char * _199;
long unsigned int _200;
long unsigned int _201;
char * _202;
long unsigned int _203;
long unsigned int _204;
char * _205;
long unsigned int _206;
long unsigned int _207;
char * _208;
long unsigned int _209;
long unsigned int _210;
struct _Rb_tree_node_base * _239;
bool _259;
void * PROF_336;
struct cConfiguration * _338;
struct cConfiguration * _340;
char * _344;
const char[16] * _345;
uint128_t _346;
long unsigned int _347;
long unsigned int _348;
long unsigned int _350;
char _351;
struct basic_string & _352;
bool _354;
char _355;
char * _356;
const char[16] * _357;
uint128_t _358;
long unsigned int _359;
long unsigned int _360;
long unsigned int _361;
long unsigned int _362;
long unsigned int _363;
struct basic_string & _364;
bool _366;
bool _367;
char _369;
unsigned char _370;
int _371;
int _372;
int _373;
bool _379;
bool _380;
char _381;
unsigned char _382;
int _383;
int _384;
int _385;
char _416;
bool _422;
const char * _425;
bool _426;
const char * _427;
bool _428;
<bb 2> [local count: 624228568]:
_1 = this_64(D)->run.initialized;
if (_1 != 0)
goto <bb 4>; [67.00%]
else
goto <bb 3>; [33.00%]
<bb 3> [local count: 205995424]:
init (this_64(D));
<bb 4> [local count: 624228568]:
_2 = this_64(D)->f;
if (_2 == 0B)
goto <bb 98>; [18.09%]
else
goto <bb 5>; [81.91%]
<bb 5> [local count: 511305619]:
if (name_66(D) == 0B)
goto <bb 7>; [30.00%]
else
goto <bb 6>; [70.00%]
<bb 6> [local count: 357913935]:
_3 = *name_66(D);
if (_3 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 332348652]:
<bb 8> [local count: 511305619]:
# name_22 = PHI <name_66(D)(6), "(unnamed)"(7)>
_102 = evPtr;
_4 = _102->_vptr.cEnvir;
_5 = MEM[(int (*__vtbl_ptr_type) () *)_4 + 248B];
PROF_336 = [obj_type_ref] OBJ_TYPE_REF(_5;(struct cEnvir)_102->31);
if (PROF_336 == getConfig)
goto <bb 9>; [80.00%]
else
goto <bb 10>; [20.00%]
<bb 9> [local count: 409044496]:
_340 = MEM[(struct EnvirBase *)_102].cfg;
goto <bb 11>; [100.00%]
<bb 10> [local count: 102261128]:
_338 = OBJ_TYPE_REF(_5;(struct cEnvir)_102->31) (_102);
<bb 11> [local count: 511305619]:
# _69 = PHI <_338(10), _340(9)>
_6 = _69->D.4955._vptr.cObject;
_7 = MEM[(int (*__vtbl_ptr_type) () *)_6 + 264B];
_8 = CFGID_SCALAR_RECORDING;
_9 = &component_70(D)->D.5106.D.5083.D.4983.D.4767.D.4758;
_11 = component_70(D)->D.5106.D.5083.D.4983.D.4767.D.4758._vptr.cObject;
_12 = MEM[(int (*__vtbl_ptr_type) () *)_11 + 64B];
D.31173 = OBJ_TYPE_REF(_12;(struct cObject)_9->8) (_9); [return slot
optimization]
_350 = D.31173._M_string_length;
if (_350 == 4611686018427387903)
goto <bb 12>; [0.04%]
else
goto <bb 13>; [99.96%]
<bb 12> [local count: 204523]:
__throw_length_error ("basic_string::append");
<bb 13> [local count: 511101096]:
_352 = _M_append (&D.31173, ".", 1);
<bb 14> [local count: 511101096]:
MEM[(struct _Alloc_hider *)&D.31172]._M_p = &MEM <char[16]> [(void *)&D.31172
+ 16B];
_344 = MEM[(const struct basic_string *)_352]._M_dataplus._M_p;
_345 = &MEM[(const struct basic_string *)_352].D.4725._M_local_buf;
if (_344 == _345)
goto <bb 15>; [30.00%]
else
goto <bb 16>; [70.00%]
<bb 15> [local count: 153330329]:
_346 = MEM <uint128_t> [(char * {ref-all})_352 + 16B];
MEM <uint128_t> [(char * {ref-all})&D.31172 + 16B] = _346;
goto <bb 17>; [100.00%]
<bb 16> [local count: 357770767]:
D.31172._M_dataplus._M_p = _344;
_347 = *_352.D.4725._M_allocated_capacity;
D.31172.D.4725._M_allocated_capacity = _347;
<bb 17> [local count: 511101096]:
_348 = MEM[(const struct basic_string *)_352]._M_string_length;
D.31172._M_string_length = _348;
*_352._M_dataplus._M_p = _345;
*_352._M_string_length = 0;
MEM[(char_type &)_352 + 16] = 0;
_361 = __builtin_strlen (name_22);
_362 = D.31172._M_string_length;
_363 = 4611686018427387903 - _362;
if (_361 > _363)
goto <bb 18>; [0.04%]
else
goto <bb 19>; [99.96%]
<bb 18> [local count: 204439]:
__throw_length_error ("basic_string::append");
<bb 19> [local count: 510896657]:
_364 = _M_append (&D.31172, name_22, _361);
<bb 20> [local count: 510896657]:
MEM[(struct _Alloc_hider *)&D.31171]._M_p = &MEM <char[16]> [(void *)&D.31171
+ 16B];
_356 = MEM[(const struct basic_string *)_364]._M_dataplus._M_p;
_357 = &MEM[(const struct basic_string *)_364].D.4725._M_local_buf;
if (_356 == _357)
goto <bb 21>; [30.00%]
else
goto <bb 22>; [70.00%]
<bb 21> [local count: 153268996]:
_358 = MEM <uint128_t> [(char * {ref-all})_364 + 16B];
MEM <uint128_t> [(char * {ref-all})&D.31171 + 16B] = _358;
goto <bb 23>; [100.00%]
<bb 22> [local count: 357627661]:
D.31171._M_dataplus._M_p = _356;
_359 = *_364.D.4725._M_allocated_capacity;
D.31171.D.4725._M_allocated_capacity = _359;
<bb 23> [local count: 510896657]:
_360 = MEM[(const struct basic_string *)_364]._M_string_length;
D.31171._M_string_length = _360;
*_364._M_dataplus._M_p = _357;
*_364._M_string_length = 0;
MEM[(char_type &)_364 + 16] = 0;
_127 = D.31171._M_dataplus._M_p;
_76 = OBJ_TYPE_REF(_7;(struct cConfiguration)_69->33) (_69, _127, _8, 0);
<bb 24> [local count: 510896657]:
_107 = D.31171._M_dataplus._M_p;
if (&D.31171.D.4725._M_local_buf != _107)
goto <bb 25>; [53.47%]
else
goto <bb 26>; [46.53%]
<bb 25> [local count: 273176442]:
_110 = D.31171.D.4725._M_allocated_capacity;
_109 = _110 + 1;
operator delete (_107, _109);
<bb 26> [local count: 510896657]:
D.31171 ={v} {CLOBBER};
D.31171 ={v} {CLOBBER};
_116 = D.31172._M_dataplus._M_p;
if (&D.31172.D.4725._M_local_buf != _116)
goto <bb 27>; [53.47%]
else
goto <bb 28>; [46.53%]
<bb 27> [local count: 273176442]:
_112 = D.31172.D.4725._M_allocated_capacity;
_108 = _112 + 1;
operator delete (_116, _108);
<bb 28> [local count: 510896657]:
D.31172 ={v} {CLOBBER};
D.31172 ={v} {CLOBBER};
_115 = D.31173._M_dataplus._M_p;
if (&D.31173.D.4725._M_local_buf != _115)
goto <bb 29>; [53.47%]
else
goto <bb 30>; [46.53%]
<bb 29> [local count: 273176442]:
_119 = D.31173.D.4725._M_allocated_capacity;
_117 = _119 + 1;
operator delete (_115, _117);
<bb 30> [local count: 510896657]:
D.31173 ={v} {CLOBBER};
D.31173 ={v} {CLOBBER};
if (_76 != 0)
goto <bb 31>; [33.00%]
else
goto <bb 98>; [67.00%]
<bb 31> [local count: 168595896]:
_13 = this_64(D)->prec;
_81 = opp_needsquotes (name_22);
if (_81 != 0)
goto <bb 32>; [33.00%]
else
goto <bb 33>; [67.00%]
<bb 32> [local count: 55636644]:
D.31174 = opp_quotestr (name_22); [return slot optimization]
_104 = D.31174._M_dataplus._M_p;
<bb 33> [local count: 168595896]:
# _23 = PHI <name_22(31), _104(32)>
# _24 = PHI <0(31), 1(32)>
_14 = component_70(D)->D.5106.D.5083.D.4983.D.4767.D.4758._vptr.cObject;
_15 = MEM[(int (*__vtbl_ptr_type) () *)_14 + 64B];
D.31175 = OBJ_TYPE_REF(_15;(struct cObject)_9->8) (_9); [return slot
optimization]
<bb 34> [local count: 168595896]:
_103 = D.31175._M_dataplus._M_p;
_86 = opp_needsquotes (_103);
if (_86 != 0)
goto <bb 35>; [50.00%]
else
goto <bb 38>; [50.00%]
<bb 35> [local count: 84297948]:
_16 = component_70(D)->D.5106.D.5083.D.4983.D.4767.D.4758._vptr.cObject;
_17 = MEM[(int (*__vtbl_ptr_type) () *)_16 + 64B];
D.31177 = OBJ_TYPE_REF(_17;(struct cObject)_9->8) (_9); [return slot
optimization]
<bb 36> [local count: 84297948]:
_134 = D.31177._M_dataplus._M_p;
D.31176 = opp_quotestr (_134); [return slot optimization]
<bb 37> [local count: 84297948]:
_88 = D.31176._M_dataplus._M_p;
goto <bb 40>; [100.00%]
<bb 38> [local count: 84297948]:
_18 = component_70(D)->D.5106.D.5083.D.4983.D.4767.D.4758._vptr.cObject;
_19 = MEM[(int (*__vtbl_ptr_type) () *)_18 + 64B];
D.31178 = OBJ_TYPE_REF(_19;(struct cObject)_9->8) (_9); [return slot
optimization]
<bb 39> [local count: 84297948]:
_92 = D.31178._M_dataplus._M_p;
<bb 40> [local count: 168595896]:
# _25 = PHI <_88(37), _92(39)>
# _26 = PHI <1(37), 0(39)>
# _29 = PHI <0(37), 1(39)>
_20 = this_64(D)->f;
_95 = fprintf (_20, "scalar %s \t%s \t%.*g\n", _25, _23, _13, value_93(D));
<bb 41> [local count: 168595896]:
if (_29 != 0)
goto <bb 42>; [50.00%]
else
goto <bb 45>; [50.00%]
<bb 42> [local count: 84297948]:
_90 = D.31178._M_dataplus._M_p;
if (&D.31178.D.4725._M_local_buf != _90)
goto <bb 43>; [53.47%]
else
goto <bb 44>; [46.53%]
<bb 43> [local count: 45074110]:
_83 = D.31178.D.4725._M_allocated_capacity;
_74 = _83 + 1;
operator delete (_90, _74);
<bb 44> [local count: 84297948]:
D.31178 ={v} {CLOBBER};
<bb 45> [local count: 168595896]:
D.31178 ={v} {CLOBBER};
if (_26 != 0)
goto <bb 47>; [50.00%]
else
goto <bb 46>; [50.00%]
<bb 46> [local count: 84297948]:
D.31176 ={v} {CLOBBER};
goto <bb 52>; [100.00%]
<bb 47> [local count: 84297948]:
_67 = D.31176._M_dataplus._M_p;
if (&D.31176.D.4725._M_local_buf != _67)
goto <bb 48>; [53.47%]
else
goto <bb 49>; [46.53%]
<bb 48> [local count: 45074110]:
_144 = D.31176.D.4725._M_allocated_capacity;
_145 = _144 + 1;
operator delete (_67, _145);
<bb 49> [local count: 84297948]:
D.31176 ={v} {CLOBBER};
D.31176 ={v} {CLOBBER};
_146 = D.31177._M_dataplus._M_p;
if (&D.31177.D.4725._M_local_buf != _146)
goto <bb 50>; [53.47%]
else
goto <bb 51>; [46.53%]
<bb 50> [local count: 45074110]:
_147 = D.31177.D.4725._M_allocated_capacity;
_148 = _147 + 1;
operator delete (_146, _148);
<bb 51> [local count: 84297948]:
D.31177 ={v} {CLOBBER};
<bb 52> [local count: 168595896]:
D.31177 ={v} {CLOBBER};
_149 = D.31175._M_dataplus._M_p;
if (&D.31175.D.4725._M_local_buf != _149)
goto <bb 53>; [53.47%]
else
goto <bb 54>; [46.53%]
<bb 53> [local count: 90148226]:
_150 = D.31175.D.4725._M_allocated_capacity;
_151 = _150 + 1;
operator delete (_149, _151);
<bb 54> [local count: 168595896]:
D.31175 ={v} {CLOBBER};
D.31175 ={v} {CLOBBER};
if (_24 != 0)
goto <bb 55>; [50.00%]
else
goto <bb 58>; [50.00%]
<bb 55> [local count: 84297948]:
_152 = D.31174._M_dataplus._M_p;
if (&D.31174.D.4725._M_local_buf != _152)
goto <bb 56>; [53.47%]
else
goto <bb 57>; [46.53%]
<bb 56> [local count: 45074110]:
_153 = D.31174.D.4725._M_allocated_capacity;
_154 = _153 + 1;
operator delete (_152, _154);
<bb 57> [local count: 84297948]:
D.31174 ={v} {CLOBBER};
<bb 58> [local count: 168595896]:
D.31174 ={v} {CLOBBER};
if (_95 < 0)
goto <bb 59>; [0.00%]
else
goto <bb 63>; [100.00%]
<bb 59> [count: 0]:
_133 = __cxa_allocate_exception (128);
_155 = MEM[(const struct opp_string *)this_64(D) + 120B].str;
if (_155 != 0B)
goto <bb 61>; [0.00%]
else
goto <bb 60>; [0.00%]
<bb 60> [count: 0]:
<bb 61> [count: 0]:
# _156 = PHI <""(60), _155(59)>
__ct_comp (_133, "Cannot write output scalar file `%s\'", _156);
<bb 62> [count: 0]:
__cxa_throw (_133, &_ZTI13cRuntimeError, __dt_comp );
<bb 63> [local count: 168595896]:
if (attributes_101(D) != 0B)
goto <bb 64>; [70.00%]
else
goto <bb 98>; [30.00%]
<bb 64> [local count: 118017131]:
_157 = MEM[(struct _Rb_tree
*)attributes_101(D)]._M_impl.D.5999._M_header._M_left;
_239 = &MEM[(struct _Rb_tree *)attributes_101(D)]._M_impl.D.5999._M_header;
if (_157 != _239)
goto <bb 152>; [89.00%]
else
goto <bb 98>; [11.00%]
<bb 152> [local count: 105035247]:
<bb 65> [local count: 954866036]:
# it$_M_node_246 = PHI <_179(153), _157(152)>
_158 = MEM[(const struct opp_string *)it$_M_node_246 + 40B].str;
if (_158 != 0B)
goto <bb 66>; [70.00%]
else
goto <bb 72>; [30.00%]
<bb 66> [local count: 668406230]:
_416 = MEM[(const char *)_158];
if (_416 == 0)
goto <bb 72>; [34.00%]
else
goto <bb 67>; [66.00%]
<bb 67> [local count: 441148109]:
<bb 68> [local count: 5855175980]:
# _351 = PHI <_369(155), _416(67)>
# s_349 = PHI <s_375(155), _158(67)>
_370 = (unsigned char) _351;
_371 = (int) _370;
_372 = isspace (_371);
_114 = _351 == 92;
_380 = _372 != 0;
_426 = _114 | _380;
_366 = _351 == 34;
_354 = _366 | _426;
if (_354 != 0)
goto <bb 71>; [6.46%]
else
goto <bb 69>; [93.54%]
<bb 69> [local count: 5477173733]:
_373 = iscntrl (_371);
if (_373 != 0)
goto <bb 71>; [2.20%]
else
goto <bb 70>; [97.80%]
<bb 70> [local count: 5545739396]:
s_375 = s_349 + 1;
_369 = *s_375;
if (_369 != 0)
goto <bb 155>; [97.80%]
else
goto <bb 71>; [2.20%]
<bb 155> [local count: 5423733130]:
goto <bb 68>; [100.00%]
<bb 71> [local count: 620506333]:
# _367 = PHI <1(69), 0(70), 1(68)>
if (_367 != 0)
goto <bb 72>; [50.79%]
else
goto <bb 74>; [49.21%]
<bb 72> [local count: 477433021]:
# _425 = PHI <_158(71), _158(66), ""(65)>
D.31179 = opp_quotestr (_425); [return slot optimization]
<bb 73> [local count: 477433021]:
_162 = D.31179._M_dataplus._M_p;
<bb 74> [local count: 954866047]:
# _31 = PHI <_162(73), _158(71)>
# _32 = PHI <1(73), 0(71)>
_165 = MEM[(const struct opp_string *)it$_M_node_246 + 32B].str;
if (_165 != 0B)
goto <bb 75>; [70.00%]
else
goto <bb 81>; [30.00%]
<bb 75> [local count: 668406236]:
_355 = MEM[(const char *)_165];
if (_355 == 0)
goto <bb 81>; [34.00%]
else
goto <bb 76>; [66.00%]
<bb 76> [local count: 441148113]:
<bb 77> [local count: 5855176046]:
# _167 = PHI <_381(154), _355(76)>
# s_463 = PHI <s_387(154), _165(76)>
_382 = (unsigned char) _167;
_383 = (int) _382;
_384 = isspace (_383);
_428 = _167 == 92;
_259 = _384 != 0;
_27 = _259 | _428;
_28 = _167 == 34;
_30 = _27 | _28;
if (_30 != 0)
goto <bb 80>; [6.46%]
else
goto <bb 78>; [93.54%]
<bb 78> [local count: 5477173800]:
_385 = iscntrl (_383);
if (_385 != 0)
goto <bb 80>; [2.20%]
else
goto <bb 79>; [97.80%]
<bb 79> [local count: 5545739454]:
s_387 = s_463 + 1;
_381 = *s_387;
if (_381 != 0)
goto <bb 154>; [97.80%]
else
goto <bb 80>; [2.20%]
<bb 154> [local count: 5423733187]:
goto <bb 77>; [100.00%]
<bb 80> [local count: 620506340]:
# _379 = PHI <1(78), 0(79), 1(77)>
if (_379 != 0)
goto <bb 81>; [50.79%]
else
goto <bb 83>; [49.21%]
<bb 81> [local count: 477433026]:
# _427 = PHI <_165(80), _165(75), ""(74)>
D.31180 = opp_quotestr (_427); [return slot optimization]
<bb 82> [local count: 477433026]:
_169 = D.31180._M_dataplus._M_p;
<bb 83> [local count: 954866058]:
# _34 = PHI <_169(82), _165(80)>
# _35 = PHI <1(82), 0(80)>
_21 = this_64(D)->f;
_121 = fprintf (_21, "attr %s %s\n", _34, _31);
<bb 84> [local count: 954866058]:
if (_35 != 0)
goto <bb 85>; [50.00%]
else
goto <bb 88>; [50.00%]
<bb 85> [local count: 477433026]:
_171 = D.31180._M_dataplus._M_p;
if (&D.31180.D.4725._M_local_buf != _171)
goto <bb 86>; [53.47%]
else
goto <bb 87>; [46.53%]
<bb 86> [local count: 255283437]:
_172 = D.31180.D.4725._M_allocated_capacity;
_173 = _172 + 1;
operator delete (_171, _173);
<bb 87> [local count: 477433026]:
D.31180 ={v} {CLOBBER};
<bb 88> [local count: 954866058]:
D.31180 ={v} {CLOBBER};
if (_32 != 0)
goto <bb 89>; [50.00%]
else
goto <bb 92>; [50.00%]
<bb 89> [local count: 477433026]:
_174 = D.31179._M_dataplus._M_p;
if (&D.31179.D.4725._M_local_buf != _174)
goto <bb 90>; [53.47%]
else
goto <bb 91>; [46.53%]
<bb 90> [local count: 255283437]:
_175 = D.31179.D.4725._M_allocated_capacity;
_176 = _175 + 1;
operator delete (_174, _176);
<bb 91> [local count: 477433026]:
D.31179 ={v} {CLOBBER};
<bb 92> [local count: 954866058]:
D.31179 ={v} {CLOBBER};
if (_121 < 0)
goto <bb 93>; [0.00%]
else
goto <bb 97>; [100.00%]
<bb 93> [count: 0]:
_126 = __cxa_allocate_exception (128);
_177 = MEM[(const struct opp_string *)this_64(D) + 120B].str;
if (_177 != 0B)
goto <bb 95>; [0.00%]
else
goto <bb 94>; [0.00%]
<bb 94> [count: 0]:
<bb 95> [count: 0]:
# _178 = PHI <""(94), _177(93)>
__ct_comp (_126, "Cannot write output scalar file `%s\'", _178);
<bb 96> [count: 0]:
__cxa_throw (_126, &_ZTI13cRuntimeError, __dt_comp );
<bb 97> [local count: 954866058]:
_179 = _Rb_tree_increment (it$_M_node_246);
if (_179 != _239)
goto <bb 153>; [89.00%]
else
goto <bb 98>; [11.00%]
<bb 153> [local count: 849830792]:
goto <bb 65>; [100.00%]
<bb 98> [local count: 623819628]:
return;
<bb 99> [count: 0]:
<L0>:
_181 = D.31171._M_dataplus._M_p;
if (&D.31171.D.4725._M_local_buf != _181)
goto <bb 100>; [0.00%]
else
goto <bb 101>; [0.00%]
<bb 100> [count: 0]:
_182 = D.31171.D.4725._M_allocated_capacity;
_183 = _182 + 1;
operator delete (_181, _183);
<bb 101> [count: 0]:
D.31171 ={v} {CLOBBER};
resx 6
<bb 102> [count: 0]:
<L1>:
D.31171 ={v} {CLOBBER};
_184 = D.31172._M_dataplus._M_p;
if (&D.31172.D.4725._M_local_buf != _184)
goto <bb 103>; [0.00%]
else
goto <bb 104>; [0.00%]
<bb 103> [count: 0]:
_185 = D.31172.D.4725._M_allocated_capacity;
_186 = _185 + 1;
operator delete (_184, _186);
<bb 104> [count: 0]:
D.31172 ={v} {CLOBBER};
resx 4
<bb 105> [count: 0]:
<L2>:
D.31172 ={v} {CLOBBER};
_187 = D.31173._M_dataplus._M_p;
if (&D.31173.D.4725._M_local_buf != _187)
goto <bb 106>; [0.00%]
else
goto <bb 107>; [0.00%]
<bb 106> [count: 0]:
_188 = D.31173.D.4725._M_allocated_capacity;
_189 = _188 + 1;
operator delete (_187, _189);
<bb 107> [count: 0]:
D.31173 ={v} {CLOBBER};
resx 2
<bb 108> [count: 0]:
<L14>:
resx 22
<bb 109> [count: 0]:
<L13>:
D.31178 ={v} {CLOBBER};
resx 20
<bb 110> [count: 0]:
<L19>:
D.31176 ={v} {CLOBBER};
goto <bb 131>; [100.00%]
<bb 111> [count: 0]:
<L16>:
resx 22
<bb 112> [count: 0]:
<L15>:
D.31178 ={v} {CLOBBER};
resx 20
<bb 113> [count: 0]:
<L18>:
D.31176 ={v} {CLOBBER};
goto <bb 131>; [100.00%]
<bb 114> [count: 0]:
<L17>:
resx 22
<bb 115> [count: 0]:
<L20>:
D.31178 ={v} {CLOBBER};
resx 20
<bb 116> [count: 0]:
<L21>:
D.31176 ={v} {CLOBBER};
goto <bb 128>; [100.00%]
<bb 117> [count: 0]:
<L3>:
if (_29 != 0)
goto <bb 118>; [0.00%]
else
goto <bb 121>; [0.00%]
<bb 118> [count: 0]:
_190 = D.31178._M_dataplus._M_p;
if (&D.31178.D.4725._M_local_buf != _190)
goto <bb 119>; [0.00%]
else
goto <bb 120>; [0.00%]
<bb 119> [count: 0]:
_191 = D.31178.D.4725._M_allocated_capacity;
_192 = _191 + 1;
operator delete (_190, _192);
<bb 120> [count: 0]:
D.31178 ={v} {CLOBBER};
<bb 121> [count: 0]:
resx 22
<bb 122> [count: 0]:
<L4>:
D.31178 ={v} {CLOBBER};
if (_26 != 0)
goto <bb 123>; [0.00%]
else
goto <bb 126>; [0.00%]
<bb 123> [count: 0]:
_193 = D.31176._M_dataplus._M_p;
if (&D.31176.D.4725._M_local_buf != _193)
goto <bb 124>; [0.00%]
else
goto <bb 125>; [0.00%]
<bb 124> [count: 0]:
_194 = D.31176.D.4725._M_allocated_capacity;
_195 = _194 + 1;
operator delete (_193, _195);
<bb 125> [count: 0]:
D.31176 ={v} {CLOBBER};
<bb 126> [count: 0]:
# _422 = PHI <_26(122), 1(125)>
resx 20
<bb 127> [count: 0]:
<L5>:
D.31176 ={v} {CLOBBER};
if (_422 != 0)
goto <bb 128>; [0.00%]
else
goto <bb 131>; [0.00%]
<bb 128> [count: 0]:
_196 = D.31177._M_dataplus._M_p;
if (&D.31177.D.4725._M_local_buf != _196)
goto <bb 129>; [0.00%]
else
goto <bb 130>; [0.00%]
<bb 129> [count: 0]:
_197 = D.31177.D.4725._M_allocated_capacity;
_198 = _197 + 1;
operator delete (_196, _198);
<bb 130> [count: 0]:
D.31177 ={v} {CLOBBER};
<bb 131> [count: 0]:
resx 18
<bb 132> [count: 0]:
<L6>:
D.31177 ={v} {CLOBBER};
_199 = D.31175._M_dataplus._M_p;
if (&D.31175.D.4725._M_local_buf != _199)
goto <bb 133>; [0.00%]
else
goto <bb 134>; [0.00%]
<bb 133> [count: 0]:
_200 = D.31175.D.4725._M_allocated_capacity;
_201 = _200 + 1;
operator delete (_199, _201);
<bb 134> [count: 0]:
D.31175 ={v} {CLOBBER};
resx 16
<bb 135> [count: 0]:
<L7>:
D.31175 ={v} {CLOBBER};
if (_24 != 0)
goto <bb 136>; [0.00%]
else
goto <bb 139>; [0.00%]
<bb 136> [count: 0]:
_202 = D.31174._M_dataplus._M_p;
if (&D.31174.D.4725._M_local_buf != _202)
goto <bb 137>; [0.00%]
else
goto <bb 138>; [0.00%]
<bb 137> [count: 0]:
_203 = D.31174.D.4725._M_allocated_capacity;
_204 = _203 + 1;
operator delete (_202, _204);
<bb 138> [count: 0]:
D.31174 ={v} {CLOBBER};
<bb 139> [count: 0]:
<L8>:
resx 14
<bb 140> [count: 0]:
<L9>:
__cxa_free_exception (_133);
resx 33
<bb 141> [count: 0]:
# _36 = PHI <0(81), _35(83)>
<L10>:
if (_36 != 0)
goto <bb 142>; [0.00%]
else
goto <bb 145>; [0.00%]
<bb 142> [count: 0]:
_205 = D.31180._M_dataplus._M_p;
if (&D.31180.D.4725._M_local_buf != _205)
goto <bb 143>; [0.00%]
else
goto <bb 144>; [0.00%]
<bb 143> [count: 0]:
_206 = D.31180.D.4725._M_allocated_capacity;
_207 = _206 + 1;
operator delete (_205, _207);
<bb 144> [count: 0]:
D.31180 ={v} {CLOBBER};
<bb 145> [count: 0]:
resx 39
<bb 146> [count: 0]:
# _33 = PHI <0(72), _32(145)>
<L11>:
D.31180 ={v} {CLOBBER};
if (_33 != 0)
goto <bb 147>; [0.00%]
else
goto <bb 150>; [0.00%]
<bb 147> [count: 0]:
_208 = D.31179._M_dataplus._M_p;
if (&D.31179.D.4725._M_local_buf != _208)
goto <bb 148>; [0.00%]
else
goto <bb 149>; [0.00%]
<bb 148> [count: 0]:
_209 = D.31179.D.4725._M_allocated_capacity;
_210 = _209 + 1;
operator delete (_208, _210);
<bb 149> [count: 0]:
D.31179 ={v} {CLOBBER};
<bb 150> [count: 0]:
resx 37
<bb 151> [count: 0]:
<L12>:
__cxa_free_exception (_126);
resx 44
}
and here:
(gdb) bt
#0 gimple_call_arg_flags (stmt=0x7ffff574dd10, arg=2) at
/home/marxin/Programming/gcc/gcc/gimple.c:1610
#1 0x0000000000b9883b in analyze_ssa_name_flags (name=0x7ffff5d38d80,
lattice=..., depth=3, ipa=false) at
/home/marxin/Programming/gcc/gcc/ipa-modref.c:1825
#2 0x0000000000b98bd5 in analyze_ssa_name_flags (name=0x7ffff5d38c60,
lattice=..., depth=2, ipa=false) at
/home/marxin/Programming/gcc/gcc/ipa-modref.c:1933
#3 0x0000000000b98ddb in analyze_ssa_name_flags (name=0x7ffff57cdc60,
lattice=..., depth=1, ipa=false) at
/home/marxin/Programming/gcc/gcc/ipa-modref.c:1940
#4 0x0000000000b98fc7 in merge_call_lhs_flags (call=<optimized out>,
arg=<optimized out>, index=<optimized out>, deref=<optimized out>, lattice=...,
depth=0, ipa=false) at /home/marxin/Programming/gcc/gcc/ipa-modref.c:1684
#5 0x0000000000b98829 in merge_call_lhs_flags (ipa=<optimized out>,
depth=<optimized out>, lattice=..., deref=<optimized out>, index=<optimized
out>, arg=<optimized out>, call=<optimized out>) at
/home/marxin/Programming/gcc/gcc/ipa-modref.c:1838
#6 analyze_ssa_name_flags (name=0x7ffff57cd750, lattice=..., depth=0,
ipa=false) at /home/marxin/Programming/gcc/gcc/ipa-modref.c:1859
#7 0x0000000000b9de6e in analyze_parms (ipa=<optimized out>, summary_lto=0x0,
summary=0x7ffff6eed9c0) at /home/marxin/Programming/gcc/gcc/ipa-modref.c:2051
#8 analyze_function (f=<optimized out>, ipa=<optimized out>) at
/home/marxin/Programming/gcc/gcc/ipa-modref.c:2227
#9 0x0000000000b9fa02 in (anonymous namespace)::pass_modref::execute
(this=<optimized out>, f=<optimized out>) at
/home/marxin/Programming/gcc/gcc/ipa-modref.c:3087
#10 0x0000000000cf611a in execute_one_pass (pass=0x282e820) at
/home/marxin/Programming/gcc/gcc/passes.c:2567
#11 0x0000000000cf6a13 in execute_pass_list_1 (pass=0x282e820) at
/home/marxin/Programming/gcc/gcc/passes.c:2656
#12 0x0000000000cf6a25 in execute_pass_list_1 (pass=0x282ba00) at
/home/marxin/Programming/gcc/gcc/passes.c:2657
#13 0x0000000000cf6a56 in execute_pass_list (fn=0x7ffff71339c0, pass=<optimized
out>) at /home/marxin/Programming/gcc/gcc/passes.c:2667
#14 0x00000000009424f5 in cgraph_node::expand (this=0x7ffff6f58880) at
/home/marxin/Programming/gcc/gcc/context.h:48
#15 cgraph_node::expand (this=0x7ffff6f58880) at
/home/marxin/Programming/gcc/gcc/cgraphunit.c:1781
#16 0x0000000000943b6f in expand_all_functions () at
/home/marxin/Programming/gcc/gcc/cgraphunit.c:1992
#17 symbol_table::compile (this=0x7ffff765a000) at
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2356
#18 symbol_table::compile (this=0x7ffff765a000) at
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2267
#19 0x0000000000896c80 in lto_main () at
/home/marxin/Programming/gcc/gcc/lto/lto.c:653
#20 0x0000000000ddcd24 in compile_file () at
/home/marxin/Programming/gcc/gcc/toplev.c:452
#21 0x000000000086d91b in do_compile (no_backend=false) at
/home/marxin/Programming/gcc/gcc/toplev.c:2154
#22 toplev::main (this=this@entry=0x7fffffffccfe, argc=<optimized out>,
argc@entry=198, argv=<optimized out>, argv@entry=0x7fffffffce48) at
/home/marxin/Programming/gcc/gcc/toplev.c:2306
#23 0x0000000000870fd5 in main (argc=198, argv=0x7fffffffce48) at
/home/marxin/Programming/gcc/gcc/main.c:39
(gdb) p debug_gimple_stmt(stmt)
# .MEM_110 = VDEF <.MEM_68>
_M_construct.constprop (_30(D), s_88, _92);
__attribute__((abi_tag ("cxx11")))
struct string getAsString (struct cConfiguration * const this, const char *
objectFullPath, struct cConfigOption * option, const char * fallbackValue)
{
long int D.32273;
const char * s;
int (*__vtbl_ptr_type) () * _1;
int (*__vtbl_ptr_type) () _2;
int (*__vtbl_ptr_type) () * _3;
int (*__vtbl_ptr_type) () _4;
struct cNamedObject * _5;
int (*__vtbl_ptr_type) () * _6;
int (*__vtbl_ptr_type) () _7;
void * _8;
int (*__vtbl_ptr_type) () * _9;
int (*__vtbl_ptr_type) () _10;
const char * _11;
struct cNamedObject * _12;
int (*__vtbl_ptr_type) () * _13;
int (*__vtbl_ptr_type) () _14;
long unsigned int _22;
const char * _24;
const char * _26;
const char * _29;
struct string & _30(D);
struct exception * _34;
void * _36;
const char * _39;
char * _44;
const char * _45;
void * PROF_63;
const char * _65;
void * PROF_67;
const char * _69;
const char * _71;
int (*__vtbl_ptr_type) () * _73;
int (*__vtbl_ptr_type) () _74;
const struct KeyValue2 & _75;
const struct KeyValue1 * _76;
int (*__vtbl_ptr_type) () * _77;
int (*__vtbl_ptr_type) () _78;
const char * _79;
char * _80;
void * PROF_82;
const char * _84;
char * _86;
char _89;
long unsigned int _91;
const char * _92;
char[16] * _99;
long int _113;
<bb 2> [local count: 1073741824]:
assertType (option_19(D), 1, 3);
_1 = this_21(D)->D.4954._vptr.cObject;
_2 = MEM[(int (*__vtbl_ptr_type) () *)_1 + 152B];
_22 = MEM[(const struct basic_string *)option_19(D) + 80B]._M_string_length;
if (_22 == 0)
goto <bb 43>; [29.00%]
else
goto <bb 3>; [71.00%]
<bb 43> [local count: 311385128]:
goto <bb 4>; [100.00%]
<bb 3> [local count: 762356697]:
_44 = MEM[(const struct basic_string *)option_19(D) + 80B]._M_dataplus._M_p;
<bb 4> [local count: 1073741824]:
# _45 = PHI <0B(43), _44(3)>
_24 = OBJ_TYPE_REF(_2;(struct cConfiguration)this_21(D)->19) (this_21(D),
_45);
<bb 5> [local count: 1073741824]:
_3 = this_21(D)->D.4954._vptr.cObject;
_4 = MEM[(int (*__vtbl_ptr_type) () *)_3 + 176B];
_5 = &option_19(D)->D.5508.D.4983.D.4767;
_6 = option_19(D)->D.5508.D.4983.D.4767.D.4758._vptr.cObject;
_7 = MEM[(int (*__vtbl_ptr_type) () *)_6 + 48B];
PROF_63 = [obj_type_ref] OBJ_TYPE_REF(_7;(struct cNamedObject)_5->6);
if (PROF_63 == getName)
goto <bb 6>; [80.00%]
else
goto <bb 7>; [20.00%]
<bb 6> [local count: 858993457]:
_71 = MEM[(const struct cNamedObject *)option_19(D)].namep;
if (_71 != 0B)
goto <bb 44>; [70.00%]
else
goto <bb 9>; [30.00%]
<bb 44> [local count: 601295422]:
goto <bb 10>; [100.00%]
<bb 7> [local count: 214748368]:
_65 = OBJ_TYPE_REF(_7;(struct cNamedObject)_5->6) (_5);
<bb 45> [local count: 214748368]:
goto <bb 10>; [100.00%]
<bb 8> [count: 0]:
<L6>:
goto <bb 32>; [100.00%]
<bb 9> [local count: 257698035]:
<bb 10> [local count: 1073741824]:
# _26 = PHI <_65(45), _71(44), ""(9)>
PROF_67 = [obj_type_ref] OBJ_TYPE_REF(_4;(struct
cConfiguration)this_21(D)->22);
if (PROF_67 == getPerObjectConfigValue)
goto <bb 11>; [80.00%]
else
goto <bb 20>; [20.00%]
<bb 11> [local count: 858993457]:
_73 = MEM[(const struct SectionBasedConfiguration
*)this_21(D)].D.5740.D.4958.D.4955._vptr.cObject;
_74 = MEM[(int (*__vtbl_ptr_type) () *)_73 + 184B];
_75 = OBJ_TYPE_REF(_74;(struct SectionBasedConfiguration)this_21(D)->23)
(this_21(D), objectFullPath_27(D), _26);
goto <bb 13>; [100.00%]
<bb 12> [count: 0]:
<L7>:
goto <bb 32>; [100.00%]
<bb 13> [local count: 858993457]:
_76 = &_75->D.10348;
_77 = _75->D.10348.D.5862._vptr.KeyValue;
_78 = MEM[(int (*__vtbl_ptr_type) () *)_77 + 16B];
PROF_82 = [obj_type_ref] OBJ_TYPE_REF(_78;(struct KeyValue1)_76->2);
if (PROF_82 == what)
goto <bb 14>; [80.00%]
else
goto <bb 15>; [20.00%]
<bb 14> [local count: 687194763]:
_86 = MEM[(const struct basic_string *)_75 + 16B]._M_dataplus._M_p;
goto <bb 17>; [100.00%]
<bb 15> [local count: 171798694]:
_84 = OBJ_TYPE_REF(_78;(struct KeyValue1)_76->2) (_76);
goto <bb 46>; [100.00%]
<bb 16> [count: 0]:
<L8>:
goto <bb 32>; [100.00%]
<bb 46> [local count: 171798694]:
<bb 17> [local count: 858993457]:
# _79 = PHI <_84(46), _86(14)>
if (_79 != 0B)
goto <bb 19>; [85.10%]
else
goto <bb 47>; [14.90%]
<bb 47> [local count: 127990022]:
<bb 18> [local count: 322122544]:
if (_24 == 0B)
goto <bb 23>; [17.43%]
else
goto <bb 48>; [82.57%]
<bb 19> [local count: 731003435]:
_80 = MEM[(const struct basic_string *)_75 + 48B]._M_dataplus._M_p;
goto <bb 22>; [100.00%]
<bb 20> [local count: 214748368]:
_69 = OBJ_TYPE_REF(_4;(struct cConfiguration)this_21(D)->22) (this_21(D),
objectFullPath_27(D), _26);
goto <bb 49>; [100.00%]
<bb 21> [count: 0]:
<L9>:
goto <bb 32>; [100.00%]
<bb 49> [local count: 214748368]:
<bb 22> [local count: 945751802]:
# _29 = PHI <_69(49), _80(19)>
if (_29 == 0B)
goto <bb 50>; [19.04%]
else
goto <bb 51>; [80.96%]
<bb 51> [local count: 765641716]:
goto <bb 26>; [100.00%]
<bb 50> [local count: 180110086]:
goto <bb 18>; [100.00%]
<bb 23> [local count: 56145959]:
__ct_base .constprop (_30(D), fallbackValue_31(D));
goto <bb 52>; [100.00%]
<bb 24> [count: 0]:
<L10>:
goto <bb 32>; [100.00%]
<bb 52> [local count: 56145959]:
<bb 25> [local count: 1073741825]:
return _30(D);
<bb 48> [local count: 265976585]:
<bb 26> [local count: 1017595866]:
# s_88 = PHI <_29(51), _24(48)>
_89 = *s_88;
if (_89 == 34)
goto <bb 27>; [34.00%]
else
goto <bb 29>; [66.00%]
<bb 27> [local count: 345982598]:
*_30(D) = opp_parsequotedstr (s_88); [return slot optimization]
<bb 53> [local count: 345982598]:
goto <bb 25>; [100.00%]
<bb 28> [count: 0]:
<L11>:
goto <bb 32>; [100.00%]
<bb 29> [local count: 671613268]:
_99 = &MEM[(struct basic_string *)_30(D)].D.4725._M_local_buf;
MEM[(struct _Alloc_hider *)_30(D)]._M_p = _99;
_91 = __builtin_strlen (s_88);
_92 = s_88 + _91;
_M_construct.constprop (_30(D), s_88, _92);
<bb 54> [local count: 671613268]:
goto <bb 25>; [100.00%]
<bb 30> [count: 0]:
<L12>:
goto <bb 32>; [100.00%]
<bb 31> [count: 0]:
<L5>:
<bb 32> [count: 0]:
<L0>:
_113 = __builtin_eh_filter (1);
if (_113 == 1)
goto <bb 34>; [0.00%]
else
goto <bb 33>; [0.00%]
<bb 33> [count: 0]:
<L4>:
resx 1
<bb 34> [count: 0]:
<L1>:
_8 = __builtin_eh_pointer (1);
_34 = __cxa_begin_catch (_8);
_36 = __cxa_allocate_exception (128);
_9 = _34->_vptr.exception;
_10 = MEM[(int (*__vtbl_ptr_type) () *)_9 + 16B];
_11 = OBJ_TYPE_REF(_10;(struct exception)_34->2) (_34);
_12 = &option_19(D)->D.5508.D.4983.D.4767;
_13 = option_19(D)->D.5508.D.4983.D.4767.D.4758._vptr.cObject;
_14 = MEM[(int (*__vtbl_ptr_type) () *)_13 + 48B];
_39 = OBJ_TYPE_REF(_14;(struct cNamedObject)_12->6) (_12);
<bb 35> [count: 0]:
__ct_comp (_36, "Error getting option %s= from the configuration: %s", _39,
_11);
goto <bb 37>; [0.00%]
<bb 36> [count: 0]:
<L14>:
goto <bb 39>; [100.00%]
<bb 37> [count: 0]:
__cxa_throw (_36, &_ZTI13cRuntimeError, __dt_comp );
<bb 38> [count: 0]:
<L13>:
<bb 39> [count: 0]:
<L2>:
__cxa_free_exception (_36);
resx 3
<bb 40> [count: 0]:
<L16>:
goto <bb 42>; [100.00%]
<bb 41> [count: 0]:
<L15>:
<bb 42> [count: 0]:
<L3>:
__cxa_end_catch ();
resx 2
}
^ permalink raw reply [flat|nested] 13+ messages in thread