OSDN Git Service

PR target/39139
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Feb 2009 16:22:29 +0000 (16:22 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Feb 2009 16:22:29 +0000 (16:22 +0000)
commite15deb4b329bf724d50139ade9b5a0e9b152b130
treeeb1fb857e229b58695341024ec649f95610b921f
parenta9c1f295d9e02e5d7ccb174df7223b9deeefbb99
PR target/39139
* function.h (struct function): Add has_local_explicit_reg_vars
bit.
* gimplify.c (gimplify_bind_expr): Set it if local DECL_HARD_REGISTER
VAR_DECLs were seen.
* tree-ssa-live.c (remove_unused_locals): Recompute
cfun->has_local_explicit_reg_vars.
* tree-ssa-sink.c (statement_sink_location): Don't sink BLKmode
copies or clearings if cfun->has_local_explicit_reg_vars.

* gcc.target/i386/pr39139.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144065 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/function.h
gcc/gimplify.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr39139.c [new file with mode: 0644]
gcc/tree-ssa-live.c
gcc/tree-ssa-sink.c