diff options
author | Adrian Straetling <straetling@de.ibm.com> | 2005-06-09 11:17:23 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@gcc.gnu.org> | 2005-06-09 11:17:23 +0000 |
commit | e7e64a25d57233719536414e880aee28447267dc (patch) | |
tree | fae4f203782bfda9e5f07b9ca8e588b44eaa0dd2 /gcc/loop-doloop.c | |
parent | fd078f5215762192c5e69e0f37093cf911ecbc22 (diff) | |
download | gcc-e7e64a25d57233719536414e880aee28447267dc.zip gcc-e7e64a25d57233719536414e880aee28447267dc.tar.gz gcc-e7e64a25d57233719536414e880aee28447267dc.tar.bz2 |
target.h (insn_valid_within_doloop): Rename into "invalid_within_doloop".
2005-06-09 Adrian Straetling <straetling@de.ibm.com>
* target.h (insn_valid_within_doloop): Rename into
"invalid_within_doloop". Change return type to "const char *".
Update Comment.
* targhooks.h (default_insn_valid_within_doloop): Rename into
"default_invalid_within_doloop".
* targhooks.c (default_insn_valid_within_doloop): Likewise.
Update Comment.
* target-def.h (TARGET_INSN_VALID_WITHIN_DOLOOP): Rename target hook
into "TARGET_INVALID_WITHIN_DOLOOP". Default it to
"default_invalid_within_doloop".
* hooks.c (hook_constcharptr_rtx_null): New function.
(hook_bool_rtx_true): Remove.
* hooks.h (hook_constcharptr_rtx_null): Declare.
(hook_bool_rtx_true): Remove.
* loop-doloop.c (doloop_valid_p): Temporarily store return value of
"invalid_within_doloop" and print error message if non-null.
Update Comment.
* doc/tm.texi: Update documentation.
* config/s390/s390.c: Adjust to new hook name and new default hook.
* config/rs6000/rs6000.c: (rs6000_insn_valid_within_doloop): Rename
into "rs6000_invalid_within_doloop".
(rs6000_invalid_within_doloop): Change return type to "static const
char *" and replace return values. Update Comment.
From-SVN: r100797
Diffstat (limited to 'gcc/loop-doloop.c')
-rw-r--r-- | gcc/loop-doloop.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/loop-doloop.c b/gcc/loop-doloop.c index dd15aab..c40777b 100644 --- a/gcc/loop-doloop.c +++ b/gcc/loop-doloop.c @@ -203,12 +203,16 @@ doloop_valid_p (struct loop *loop, struct niter_desc *desc) { /* Different targets have different necessities for low-overhead looping. Call the back end for each instruction within the loop - to let it decide whether the insn is valid. */ - if (!targetm.insn_valid_within_doloop (insn)) - { + to let it decide whether the insn prohibits a low-overhead loop. + It will then return the cause for it to emit to the dump file. */ + const char * invalid = targetm.invalid_within_doloop (insn); + if (invalid) + { + if (dump_file) + fprintf (dump_file, "Doloop: %s\n", invalid); result = false; goto cleanup; - } + } } } result = true; |