On 2025-04-10 10:50, Andrew MacLeod wrote:
Its not clear to me exactly what is being asked, but I think the suggestion is that pointer references are being replaced with a builtin function called .ACCESS_WITH_SIZE ? and I presume that builtin function has some parameters that give you relevant range information of some sort?
Added, not replaced, but yes, that's essentially it.
range-ops is setup to pull range information from builtin functions already in gimple-range-op.cc:: gimple_range_op_handler::maybe_builtin_call (). We'd just need to write a handler for this new one. You can pull information from 2 operands under normal circumstances, but exceptions can be made. I'd need a description of what it looks like and how that translates to range info.
That's perfect! It's probably redundant for cases where we end up with both .ACCESS_WITH_SIZE and a __bos/__bdos call, but I don't remember if that's the only place where .ACCESS_WITH_SIZE is generated today. Qing, could you please work with Andrew on this?
Thanks, Sid