On 27/10/15 13:56, Tom de Vries wrote:
On 27/10/15 13:24, Tom de Vries wrote:
Thinking it over a bit more, I realized the constraint handling started
to be messy. I've reworked the patch series to simplify that first.
1 Simplify constraint handling
2 Rename make_restrict_var_constraints to make_param_constraints
3 Add recursion to make_param_constraints
4 Add handle_param parameter to create_variable_info_for_1
5 Handle recursive restrict pointer in
create_variable_info_for_1
6 Handle restrict struct fields recursively
Currently doing bootstrap and regtest on x86_64.
I'll repost the patch series in reply to this message.
This patch:
- registers the connection between a restrict pointer var and a
restrict var in a new hash_map restrict_pointed_var.
- move the restrict pointer constraint handling from
intra_create_variable_infos to make_param_constraints
The result of this and the two preceding patches is that the constraint
handling for params in intra_create_variable_infos is reduced to a
single call to make_param_constraints.
I've managed to eliminate this patch from the patch series, at the cost
of having to merge patches 4-6 into a single patch, rather than having a
more stepwise approach.
So, the new patch series is:
1 Rename make_restrict_var_constraints to make_param_constraints
2 Handle recursive restrict in function parameter
I'll repost in reply to this message.
Thanks,
- Tom