[PATCH] PR target/50038 fix: redundant zero extensions removal
Ilya Enkovich
enkovich.gnu@gmail.com
Tue Nov 1 13:29:00 GMT 2011
Hi,
Here is a patch which fixes redundant zero extensions problem. Issue
is resolved by expanding implicit_zee pass functionality to cover zero
and sign extends of different modes. Could please someone review it?
Bootstrapped and checked on linux-x86_64.
Thanks,
Ilya
---
2011-11-01 Enkovich Ilya <ilya.enkovich@intel.com>
PR target/50038
* implicit-zee.c (ext_cand): New.
(ext_cand_pool): Likewise.
(add_ext_candidate): New.
(zee_init): New.
(zee_cleanup): New.
(get_reg_di): Removed.
(combine_set_zero_extend): Get extend candidate as new parameter.
Now handle sign extend cases and other modes.
(transform_ifelse): Likewise.
(merge_def_and_ze): Likewise.
(combine_reaching_defs): Change parameter type.
(zero_extend_info): Changed insn_list type.
(add_removable_zero_extend): Relaxed mode and code filter.
(find_removable_zero_extends): Changed return type.
(find_and_remove_ze): Var type changes.
(rest_of_handle_zee): Init and cleanup added.
* i386.c (ix86_option_override_internal): set flag_zee for
32 bit platform.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PR50038.diff
Type: application/octet-stream
Size: 13913 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20111101/6dd354cd/attachment.obj>
More information about the Gcc-patches
mailing list