diff options
| author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-06-21 18:31:56 +0000 |
|---|---|---|
| committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-06-21 18:31:56 +0000 |
| commit | 2702343c97a6efab87bdb4e218dc9d2ee3cc4e6f (patch) | |
| tree | 637e4905782478ff8adf204626f6f28d8e7b3df7 | |
| parent | 47cd9fb8868a022deb280e79914ed833abe348ee (diff) | |
| download | ppe42-gcc-2702343c97a6efab87bdb4e218dc9d2ee3cc4e6f.tar.gz ppe42-gcc-2702343c97a6efab87bdb4e218dc9d2ee3cc4e6f.zip | |
PR target/26347
PR target/27082
* config/alpha/predicates.md (small_symbolic_operand): Deny weak
symbols.
(global_symbolic_operand): Allow weak symbols, even if local_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114861 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 8 | ||||
| -rw-r--r-- | gcc/config/alpha/predicates.md | 6 |
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f612b093dfe..8dcf578d372 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2006-06-21 Richard Henderson <rth@redhat.com> + + PR target/26347 + PR target/27082 + * config/alpha/predicates.md (small_symbolic_operand): Deny weak + symbols. + (global_symbolic_operand): Allow weak symbols, even if local_p. + 2006-06-21 Eric Botcazou <ebotcazou@adacore.com> * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function. diff --git a/gcc/config/alpha/predicates.md b/gcc/config/alpha/predicates.md index a035fffd841..8d375608f4e 100644 --- a/gcc/config/alpha/predicates.md +++ b/gcc/config/alpha/predicates.md @@ -366,7 +366,8 @@ return (SYMBOL_REF_LOCAL_P (op) && SYMBOL_REF_SMALL_P (op) - && SYMBOL_REF_TLS_MODEL (op) == 0); + && !SYMBOL_REF_WEAK (op) + && !SYMBOL_REF_TLS_MODEL (op)); }) ;; Return true if OP is a SYMBOL_REF or CONST referencing a variable @@ -382,7 +383,8 @@ if (GET_CODE (op) != SYMBOL_REF) return 0; - return !SYMBOL_REF_LOCAL_P (op) && !SYMBOL_REF_TLS_MODEL (op); + return ((!SYMBOL_REF_LOCAL_P (op) || SYMBOL_REF_WEAK (op)) + && !SYMBOL_REF_TLS_MODEL (op)); }) ;; Returns 1 if OP is a symbolic operand, i.e. a symbol_ref or a label_ref, |

