[PATCH][Arm] Remove constraint strings from define_expand constructs in the back end
Dennis Zhang
Dennis.Zhang@arm.com
Mon Jun 24 15:13:00 GMT 2019
Hi,
A number of Arm define_expand patterns have specified constraints for
their operands. But the constraint strings are ignored at expand time
and are therefore redundant/useless. We now avoid specifying constraints
in new define_expands, but we should clean up the existing define_expand
definitions.
For example, the constraint "=r" is removed in the following case:
(define_expand "reload_inhi"
[(parallel [(match_operand:HI 0 "s_register_operand" "=r")
The "" marks with an empty constraint in define_expand are removed as well.
The patch is tested with the build configuration of
--target=arm-linux-gnueabi and it passes gcc/testsuite.
Thanks,
Dennis
gcc/ChangeLog:
2019-06-21 Dennis Zhang <dennis.zhang@arm.com>
* config/arm/arm-fixed.md: Remove redundant constraints from
define_expand.
* config/arm/arm.md: Likewise.
* config/arm/iwmmxt.md: Likewise.
* config/arm/neon.md: Likewise.
* config/arm/sync.md: Likewise.
* config/arm/thumb1.md: Likewise.
* config/arm/vec-common.md: Likewise.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: remove-define_expand-constrain-20190620-2-arm.diff
Type: text/x-patch
Size: 108064 bytes
Desc: remove-define_expand-constrain-20190620-2-arm.diff
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20190624/a99a2277/attachment.bin>
More information about the Gcc-patches
mailing list