This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: how to chase a tree check failure in verify_ssa?


Diego, a bit more info.  It seems that gimplify_operand
is being called in the rewrite_uses pass of 
tree-ssa-loop-ivopts.c.  gimplify_operand() is working
on this expr:

 <plus_expr 0x2aaaae0ee5f0
    type <integer_type 0x2aaaaded5600 unsigned int public unsigned SI
        size <integer_cst 0x2aaaadec5c00 constant invariant 32>
        unit size <integer_cst 0x2aaaadec5720 constant invariant 4>
        align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x2aaaadec5cf0 0> max <integer_cst 0x2aaaadec5cc0 4294967295>>
    constant invariant
    arg 0 <nop_expr 0x2aaaae0eda80 type <integer_type 0x2aaaaded5600 unsigned int>
        constant invariant
        arg 0 <view_convert_expr 0x2aaaae0edb80 type <pointer_type 0x2aaaae0d6300>
            constant static
            arg 0 <constructor 0x2aaaae0e9a80 type <record_type 0x2aaaadf6ea80 upc_shared_ptr_t>
                constant>>>
    arg 1 <integer_cst 0x2aaaae0e9900 type <integer_type 0x2aaaaded5600 unsigned int> constant invari

As you can can see, we coerce a constructor into a UPC shared pointer,
which works something like a pointer, but it is not inter-operable directly
with integers.  Typically, we have to locate the places where these sorts
of optimizations are attempted and disable them for UPC shared pointers.

Thanks for you help.  It got me pointed in the right direction.

  - Gary


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]