diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-09-06 08:53:11 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-09-06 08:53:11 +0000 |
commit | b3f76ab5d483cfa5df281142a92e06a242853670 (patch) | |
tree | 56b6457372e7ce447bcc0d30ab7f7fd8beeec6d3 /gcc/simplify-rtx.c | |
parent | 76c66009a833271e1c3428f75f5a4a564490b49f (diff) | |
download | gcc-b3f76ab5d483cfa5df281142a92e06a242853670.tar.gz |
PR rtl-optimization/23098
* cse.c (fold_rtx_mem): Call delegitimize_address target hook.
* simplify-rtx.c (constant_pool_reference_p): New function.
* rtl.h (constant_pool_reference_p): New prototype.
* config/i386/i386.md (pushf split, mov[sdx]f split): Use
constant_pool_reference_p in condition and
avoid_constant_pool_reference in preparation statements.
* gcc.target/i386/pr23098.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103935 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/simplify-rtx.c')
-rw-r--r-- | gcc/simplify-rtx.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 13e90e99bfd..d3ec956c1ae 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -209,6 +209,14 @@ avoid_constant_pool_reference (rtx x) return x; } + +/* Return true if X is a MEM referencing the constant pool. */ + +bool +constant_pool_reference_p (rtx x) +{ + return avoid_constant_pool_reference (x) != x; +} /* Make a unary operation by first seeing if it folds and otherwise making the specified operation. */ |