diff options
author | Richard Biener <rguenther@suse.de> | 2024-05-28 13:29:30 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2024-05-28 14:12:46 +0200 |
commit | 19cc61111120087619b496732b249b48b1fbe27e (patch) | |
tree | 014b0d9091e3770fd05155f6aefd691c0e70de39 /libcpp | |
parent | eaaa4b88038d4d6eda1b20ab662f1568fd9be31f (diff) | |
download | gcc-19cc61111120087619b496732b249b48b1fbe27e.zip gcc-19cc61111120087619b496732b249b48b1fbe27e.tar.gz gcc-19cc61111120087619b496732b249b48b1fbe27e.tar.bz2 |
Avoid pessimistic constraints for asm memory constraints
We process asm memory input/outputs with constraints to ESCAPED
but for this temporarily build an ADDR_EXPR. The issue is that
the used build_fold_addr_expr ends up wrapping the ADDR_EXPR in
a conversion which ends up producing &ANYTHING constraints which
is quite bad. The following uses get_constraint_for_address_of
instead, avoiding the temporary tree and the unhandled conversion.
This avoids a gcc.dg/tree-ssa/restrict-9.c FAIL with the fix
for PR115236.
* tree-ssa-structalias.cc (find_func_aliases): Use
get_constraint_for_address_of to build escape constraints
for asm inputs and outputs.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions