Mercurial > hg > CbC > CbC_gcc
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) |