comparison gcc/tree-ssa-copy.c @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
1 /* Copy propagation and SSA_NAME replacement support routines. 1 /* Copy propagation and SSA_NAME replacement support routines.
2 Copyright (C) 2004-2018 Free Software Foundation, Inc. 2 Copyright (C) 2004-2020 Free Software Foundation, Inc.
3 3
4 This file is part of GCC. 4 This file is part of GCC.
5 5
6 GCC is free software; you can redistribute it and/or modify 6 GCC is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
543 && !SSA_NAME_PTR_INFO (copy_of[i].value)) 543 && !SSA_NAME_PTR_INFO (copy_of[i].value))
544 { 544 {
545 duplicate_ssa_name_ptr_info (copy_of[i].value, 545 duplicate_ssa_name_ptr_info (copy_of[i].value,
546 SSA_NAME_PTR_INFO (var)); 546 SSA_NAME_PTR_INFO (var));
547 /* Points-to information is cfg insensitive, 547 /* Points-to information is cfg insensitive,
548 but alignment info might be cfg sensitive, if it 548 but [E]VRP might record context sensitive alignment
549 e.g. is derived from VRP derived non-zero bits. 549 info, non-nullness, etc. So reset context sensitive
550 So, do not copy alignment info if the two SSA_NAMEs 550 info if the two SSA_NAMEs aren't defined in the same
551 aren't defined in the same basic block. */ 551 basic block. */
552 if (var_bb != copy_of_bb) 552 if (var_bb != copy_of_bb)
553 mark_ptr_info_alignment_unknown 553 reset_flow_sensitive_info (copy_of[i].value);
554 (SSA_NAME_PTR_INFO (copy_of[i].value));
555 } 554 }
556 else if (!POINTER_TYPE_P (TREE_TYPE (var)) 555 else if (!POINTER_TYPE_P (TREE_TYPE (var))
557 && SSA_NAME_RANGE_INFO (var) 556 && SSA_NAME_RANGE_INFO (var)
558 && !SSA_NAME_RANGE_INFO (copy_of[i].value) 557 && !SSA_NAME_RANGE_INFO (copy_of[i].value)
559 && var_bb == copy_of_bb) 558 && var_bb == copy_of_bb)