aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/misc.c
diff options
context:
space:
mode:
authorAditya Kumar <aditya.k7@samsung.com>2015-11-18 21:08:40 +0000
committerSebastian Pop <spop@gcc.gnu.org>2015-11-18 21:08:40 +0000
commit21c7259c1c6d5de223a4150d5bd0420eef1f2925 (patch)
treec8cf60cf92fdccce7c4a2095a5758c691d9acd3a /gcc/ada/gcc-interface/misc.c
parent2ecf4eca922c12a93918f2c4b7c3b3b962d63e98 (diff)
downloadgcc-21c7259c1c6d5de223a4150d5bd0420eef1f2925.zip
gcc-21c7259c1c6d5de223a4150d5bd0420eef1f2925.tar.gz
gcc-21c7259c1c6d5de223a4150d5bd0420eef1f2925.tar.bz2
Enable condegen in case of cond phis.
The codegen of conditional PHIs inside the scop where one predecessor dominates the other was difficult so it wasn't enabled in the previous patch. After a couple of bug-fixes this has been enabled in this patch. Not all the cases could be handled in this case because it becomes difficult to map the basic block back to original code in some cases. Bug-fixes: 1. The vec_find returns -1 when no element was found. This wasn't checked. 2. When the arguments to pending phis could not be resolved in the second pass, the codegen would fail so the new code should be cleaned up. This patch passes regtest and bootstrap on linux-x86-64 with BOOT_CFLAGS='-O2 -fgraphite-identity -floop-nest-optimize' 2015-11-14 hiraditya <hiraditya@msn.com> * graphite-isl-ast-to-gimple.c (copy_loop_phi_args): Change the return type to bool for early exit. (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Early return in case of error. (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same. (add_phi_arg_for_new_expr): Enable codegen for if-block where one predecessor dominates the other. (translate_isl_ast_to_gimple::copy_cond_phi_args): Fix. When the element is not found it returns -1. (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Bail out early when codegen fails. (graphite_regenerate_ast_isl): Remove codegen region when pending phis could not be generated. From-SVN: r230567
Diffstat (limited to 'gcc/ada/gcc-interface/misc.c')
0 files changed, 0 insertions, 0 deletions