From cc95904f9618b0415564eb106b8ced07df58c6aa Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Mon, 22 Oct 2007 12:02:35 +0000 Subject: [PATCH] add a short cut to the disabiguator: pointer and non-pointer are not allowed to alias [r16300] --- ir/ana/irmemory.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ir/ana/irmemory.c b/ir/ana/irmemory.c index 7b9a7c25b..0cc2913ff 100644 --- a/ir/ana/irmemory.c +++ b/ir/ana/irmemory.c @@ -651,6 +651,10 @@ static ir_alias_relation _get_alias_relation( if (get_mode_size_bits(mode1) != get_mode_size_bits(mode2)) return no_alias; + /* cheap test: if only one is a reference mode, no alias */ + if (mode_is_reference(mode1) != mode_is_reference(mode2)) + return no_alias; + /* try rule R5 */ rel = different_types(adr1, adr2); if (rel != may_alias) -- 2.20.1