Replace Yoda conditions in gcc/

Message ID 20171219142814.GQ2353@tucnak
State New
Headers show
Series
  • Replace Yoda conditions in gcc/
Related show

Commit Message

Jakub Jelinek Dec. 19, 2017, 2:28 p.m.
Hi!

Segher's comment in one of the PRs
('-- We don't use "yoda conditions" in GCC ("0 == x");')
I was looking at led me discover we have more Yoda conditions in the source
than healthy.

This patch fixes the comparison order to the usual style.

If some port maintainer used 1 <= x && x <= 24 style and doesn't like
x >= 1 && x <= 24 for some reason, there is always IN_RANGE macro and
IN_RANGE (x, 1, 24) can be used instead (though, such a change requires
double checking the type of x, it shouldn't be wider than HOST_WIDE_INT).

In various spots the changes not only improve readability of the comparison
itself, but also by moving the often much more complex comparison operand
to left more stuff fits on lines and we need fewer line breaks.

Ok for trunk if it passes bootstrap/regtest on x86_64-linux and i686-linux?

2017-12-19  Jakub Jelinek  <jakub@redhat.com>

	* read-rtl.c (parse_reg_note_name): Replace Yoda conditions with
	typical order conditions.
	* sel-sched.c (extract_new_fences_from): Likewise.
	* config/visium/constraints.md (J, K, L): Likewise.
	* config/visium/predicates.md (const_shift_operand): Likewise.
	* config/visium/visium.c (visium_legitimize_address,
	visium_legitimize_reload_address): Likewise.
	* config/m68k/m68k.c (output_reg_adjust, emit_reg_adjust): Likewise.
	* config/arm/arm.c (arm_block_move_unaligned_straight): Likewise.
	* config/avr/constraints.md (Y01, Ym1, Y02, Ym2): Likewise.
	* config/avr/avr-log.c (avr_vdump, avr_log_set_avr_log,
	SET_DUMP_DETAIL): Likewise.
	* config/avr/predicates.md (const_8_16_24_operand): Likewise.
	* config/avr/avr.c (STR_PREFIX_P, avr_popcount_each_byte,
	avr_is_casesi_sequence, avr_casei_sequence_check_operands,
	avr_set_core_architecture, avr_set_current_function,
	avr_legitimize_reload_address, avr_asm_len, avr_print_operand,
	output_movqi, output_movsisf, avr_out_plus, avr_out_bitop,
	avr_out_fract, avr_adjust_insn_length, avr_encode_section_info,
	avr_2word_insn_p, output_reload_in_const, avr_has_nibble_0xf,
	avr_map_decompose, avr_fold_builtin): Likewise.
	* config/avr/driver-avr.c (avr_devicespecs_file): Likewise.
	* config/avr/gen-avr-mmcu-specs.c (str_prefix_p, print_mcu): Likewise.
	* config/i386/i386.c (ix86_parse_stringop_strategy_string): Likewise.
	* config/m32c/m32c-pragma.c (m32c_pragma_memregs): Likewise.
	* config/m32c/m32c.c (m32c_conditional_register_usage,
	m32c_address_cost): Likewise.
	* config/m32c/predicates.md (shiftcount_operand,
	longshiftcount_operand): Likewise.
	* config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
	* config/nios2/nios2.c (nios2_handle_custom_fpu_insn_option,
	can_use_cdx_ldstw): Likewise.
	* config/nios2/nios2.h (CDX_REG_P): Likewise.
	* config/cr16/cr16.h (RETURN_ADDR_RTX, REGNO_MODE_OK_FOR_BASE_P):
	Likewise.
	* config/cr16/cr16.md (*mov<mode>_double): Likewise.
	* config/cr16/cr16.c (cr16_create_dwarf_for_multi_push): Likewise.
	* config/h8300/h8300.c (h8300_rtx_costs, get_shift_alg): Likewise.
	* config/vax/constraints.md (U06, U08, U16, CN6, S08, S16): Likewise.
	* config/vax/vax.c (adjacent_operands_p): Likewise.
	* config/ft32/constraints.md (L, b, KA): Likewise.
	* config/ft32/ft32.c (ft32_load_immediate, ft32_expand_prologue):
	Likewise.
	* cfgexpand.c (expand_stack_alignment): Likewise.
	* gcse.c (insert_expr_in_table): Likewise.
	* print-rtl.c (rtx_writer::print_rtx_operand_codes_E_and_V): Likewise.
	* cgraphunit.c (cgraph_node::expand): Likewise.
	* ira-build.c (setup_min_max_allocno_live_range_point): Likewise.
	* emit-rtl.c (add_insn): Likewise.
	* input.c (dump_location_info): Likewise.
	* passes.c (NEXT_PASS): Likewise.
	* read-rtl-function.c (parse_note_insn_name,
	function_reader::read_rtx_operand_r, function_reader::parse_mem_expr):
	Likewise.
	* sched-rgn.c (sched_rgn_init): Likewise.
	* diagnostic-show-locus.c (layout::show_ruler): Likewise.
	* combine.c (find_split_point, simplify_if_then_else, force_to_mode,
	if_then_else_cond, simplify_shift_const_1, simplify_comparison): Likewise.
	* explow.c (eliminate_constant_term): Likewise.
	* final.c (leaf_renumber_regs_insn): Likewise.
	* cfgrtl.c (print_rtl_with_bb): Likewise.
	* genhooks.c (emit_init_macros): Likewise.
	* poly-int.h (maybe_ne, maybe_le, maybe_lt): Likewise.
	* tree-data-ref.c (conflict_fn): Likewise.
	* selftest.c (assert_streq): Likewise.
	* expr.c (store_constructor_field, expand_expr_real_1): Likewise.
	* fold-const.c (fold_range_test, extract_muldiv_1, fold_truth_andor,
	fold_binary_loc, multiple_of_p): Likewise.
	* reload.c (push_reload, find_equiv_reg): Likewise.
	* et-forest.c (et_nca, et_below): Likewise.
	* dbxout.c (dbxout_symbol_location): Likewise.
	* reorg.c (relax_delay_slots): Likewise.
	* dojump.c (do_compare_rtx_and_jump): Likewise.
	* gengtype-parse.c (type): Likewise.
	* simplify-rtx.c (simplify_gen_ternary, simplify_gen_relational,
	simplify_const_relational_operation): Likewise.
	* reload1.c (do_output_reload): Likewise.
	* dumpfile.c (get_dump_file_info_by_switch): Likewise.
	* gengtype.c (type_for_name): Likewise.
	* gimple-ssa-sprintf.c (format_directive): Likewise.
ada/
	* gcc-interface/trans.c (Loop_Statement_to_gnu): Replace Yoda
	conditions with typical order conditions.
	* gcc-interface/misc.c (gnat_get_array_descr_info,
	default_pass_by_ref): Likewise.
	* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
	* adaint.c (__gnat_tmp_name): Likewise.
c-family/
	* known-headers.cc (get_stdlib_header_for_name): Replace Yoda
	conditions with typical order conditions.
c/
	* c-typeck.c (comptypes_internal, function_types_compatible_p,
	perform_integral_promotions, digest_init): Replace Yoda conditions
	with typical order conditions.
	* c-decl.c (check_bitfield_type_and_width): Likewise.
cp/
	* name-lookup.c (get_std_name_hint): Replace Yoda conditions with
	typical order conditions.
	* class.c (check_bitfield_decl): Likewise.
	* pt.c (convert_template_argument): Likewise.
	* decl.c (duplicate_decls): Likewise.
	* typeck.c (commonparms): Likewise.
fortran/
	* scanner.c (preprocessor_line): Replace Yoda conditions with typical
	order conditions.
	* dependency.c (check_section_vs_section): Likewise.
	* trans-array.c (gfc_conv_expr_descriptor): Likewise.
jit/
	* jit-playback.c (get_type, playback::compile_to_file::copy_file,
	playback::context::acquire_mutex): Replace Yoda conditions with
	typical order conditions.
	* libgccjit.c (gcc_jit_context_new_struct_type,
	gcc_jit_struct_set_fields, gcc_jit_context_new_union_type,
	gcc_jit_context_new_function, gcc_jit_timer_pop): Likewise.
	* jit-builtins.c (matches_builtin): Likewise.
	* jit-recording.c (recording::compound_type::set_fields,
	recording::fields::write_reproducer, recording::rvalue::set_scope,
	recording::function::validate): Likewise.
	* jit-logging.c (logger::decref): Likewise.


	Jakub

Comments

Richard Biener Dec. 19, 2017, 2:30 p.m. | #1
On Tue, 19 Dec 2017, Jakub Jelinek wrote:

> Hi!

> 

> Segher's comment in one of the PRs

> ('-- We don't use "yoda conditions" in GCC ("0 == x");')

> I was looking at led me discover we have more Yoda conditions in the source

> than healthy.

> 

> This patch fixes the comparison order to the usual style.

> 

> If some port maintainer used 1 <= x && x <= 24 style and doesn't like

> x >= 1 && x <= 24 for some reason, there is always IN_RANGE macro and

> IN_RANGE (x, 1, 24) can be used instead (though, such a change requires

> double checking the type of x, it shouldn't be wider than HOST_WIDE_INT).

> 

> In various spots the changes not only improve readability of the comparison

> itself, but also by moving the often much more complex comparison operand

> to left more stuff fits on lines and we need fewer line breaks.

> 

> Ok for trunk if it passes bootstrap/regtest on x86_64-linux and i686-linux?


Ok.

Richard.

> 2017-12-19  Jakub Jelinek  <jakub@redhat.com>

> 

> 	* read-rtl.c (parse_reg_note_name): Replace Yoda conditions with

> 	typical order conditions.

> 	* sel-sched.c (extract_new_fences_from): Likewise.

> 	* config/visium/constraints.md (J, K, L): Likewise.

> 	* config/visium/predicates.md (const_shift_operand): Likewise.

> 	* config/visium/visium.c (visium_legitimize_address,

> 	visium_legitimize_reload_address): Likewise.

> 	* config/m68k/m68k.c (output_reg_adjust, emit_reg_adjust): Likewise.

> 	* config/arm/arm.c (arm_block_move_unaligned_straight): Likewise.

> 	* config/avr/constraints.md (Y01, Ym1, Y02, Ym2): Likewise.

> 	* config/avr/avr-log.c (avr_vdump, avr_log_set_avr_log,

> 	SET_DUMP_DETAIL): Likewise.

> 	* config/avr/predicates.md (const_8_16_24_operand): Likewise.

> 	* config/avr/avr.c (STR_PREFIX_P, avr_popcount_each_byte,

> 	avr_is_casesi_sequence, avr_casei_sequence_check_operands,

> 	avr_set_core_architecture, avr_set_current_function,

> 	avr_legitimize_reload_address, avr_asm_len, avr_print_operand,

> 	output_movqi, output_movsisf, avr_out_plus, avr_out_bitop,

> 	avr_out_fract, avr_adjust_insn_length, avr_encode_section_info,

> 	avr_2word_insn_p, output_reload_in_const, avr_has_nibble_0xf,

> 	avr_map_decompose, avr_fold_builtin): Likewise.

> 	* config/avr/driver-avr.c (avr_devicespecs_file): Likewise.

> 	* config/avr/gen-avr-mmcu-specs.c (str_prefix_p, print_mcu): Likewise.

> 	* config/i386/i386.c (ix86_parse_stringop_strategy_string): Likewise.

> 	* config/m32c/m32c-pragma.c (m32c_pragma_memregs): Likewise.

> 	* config/m32c/m32c.c (m32c_conditional_register_usage,

> 	m32c_address_cost): Likewise.

> 	* config/m32c/predicates.md (shiftcount_operand,

> 	longshiftcount_operand): Likewise.

> 	* config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.

> 	* config/nios2/nios2.c (nios2_handle_custom_fpu_insn_option,

> 	can_use_cdx_ldstw): Likewise.

> 	* config/nios2/nios2.h (CDX_REG_P): Likewise.

> 	* config/cr16/cr16.h (RETURN_ADDR_RTX, REGNO_MODE_OK_FOR_BASE_P):

> 	Likewise.

> 	* config/cr16/cr16.md (*mov<mode>_double): Likewise.

> 	* config/cr16/cr16.c (cr16_create_dwarf_for_multi_push): Likewise.

> 	* config/h8300/h8300.c (h8300_rtx_costs, get_shift_alg): Likewise.

> 	* config/vax/constraints.md (U06, U08, U16, CN6, S08, S16): Likewise.

> 	* config/vax/vax.c (adjacent_operands_p): Likewise.

> 	* config/ft32/constraints.md (L, b, KA): Likewise.

> 	* config/ft32/ft32.c (ft32_load_immediate, ft32_expand_prologue):

> 	Likewise.

> 	* cfgexpand.c (expand_stack_alignment): Likewise.

> 	* gcse.c (insert_expr_in_table): Likewise.

> 	* print-rtl.c (rtx_writer::print_rtx_operand_codes_E_and_V): Likewise.

> 	* cgraphunit.c (cgraph_node::expand): Likewise.

> 	* ira-build.c (setup_min_max_allocno_live_range_point): Likewise.

> 	* emit-rtl.c (add_insn): Likewise.

> 	* input.c (dump_location_info): Likewise.

> 	* passes.c (NEXT_PASS): Likewise.

> 	* read-rtl-function.c (parse_note_insn_name,

> 	function_reader::read_rtx_operand_r, function_reader::parse_mem_expr):

> 	Likewise.

> 	* sched-rgn.c (sched_rgn_init): Likewise.

> 	* diagnostic-show-locus.c (layout::show_ruler): Likewise.

> 	* combine.c (find_split_point, simplify_if_then_else, force_to_mode,

> 	if_then_else_cond, simplify_shift_const_1, simplify_comparison): Likewise.

> 	* explow.c (eliminate_constant_term): Likewise.

> 	* final.c (leaf_renumber_regs_insn): Likewise.

> 	* cfgrtl.c (print_rtl_with_bb): Likewise.

> 	* genhooks.c (emit_init_macros): Likewise.

> 	* poly-int.h (maybe_ne, maybe_le, maybe_lt): Likewise.

> 	* tree-data-ref.c (conflict_fn): Likewise.

> 	* selftest.c (assert_streq): Likewise.

> 	* expr.c (store_constructor_field, expand_expr_real_1): Likewise.

> 	* fold-const.c (fold_range_test, extract_muldiv_1, fold_truth_andor,

> 	fold_binary_loc, multiple_of_p): Likewise.

> 	* reload.c (push_reload, find_equiv_reg): Likewise.

> 	* et-forest.c (et_nca, et_below): Likewise.

> 	* dbxout.c (dbxout_symbol_location): Likewise.

> 	* reorg.c (relax_delay_slots): Likewise.

> 	* dojump.c (do_compare_rtx_and_jump): Likewise.

> 	* gengtype-parse.c (type): Likewise.

> 	* simplify-rtx.c (simplify_gen_ternary, simplify_gen_relational,

> 	simplify_const_relational_operation): Likewise.

> 	* reload1.c (do_output_reload): Likewise.

> 	* dumpfile.c (get_dump_file_info_by_switch): Likewise.

> 	* gengtype.c (type_for_name): Likewise.

> 	* gimple-ssa-sprintf.c (format_directive): Likewise.

> ada/

> 	* gcc-interface/trans.c (Loop_Statement_to_gnu): Replace Yoda

> 	conditions with typical order conditions.

> 	* gcc-interface/misc.c (gnat_get_array_descr_info,

> 	default_pass_by_ref): Likewise.

> 	* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.

> 	* adaint.c (__gnat_tmp_name): Likewise.

> c-family/

> 	* known-headers.cc (get_stdlib_header_for_name): Replace Yoda

> 	conditions with typical order conditions.

> c/

> 	* c-typeck.c (comptypes_internal, function_types_compatible_p,

> 	perform_integral_promotions, digest_init): Replace Yoda conditions

> 	with typical order conditions.

> 	* c-decl.c (check_bitfield_type_and_width): Likewise.

> cp/

> 	* name-lookup.c (get_std_name_hint): Replace Yoda conditions with

> 	typical order conditions.

> 	* class.c (check_bitfield_decl): Likewise.

> 	* pt.c (convert_template_argument): Likewise.

> 	* decl.c (duplicate_decls): Likewise.

> 	* typeck.c (commonparms): Likewise.

> fortran/

> 	* scanner.c (preprocessor_line): Replace Yoda conditions with typical

> 	order conditions.

> 	* dependency.c (check_section_vs_section): Likewise.

> 	* trans-array.c (gfc_conv_expr_descriptor): Likewise.

> jit/

> 	* jit-playback.c (get_type, playback::compile_to_file::copy_file,

> 	playback::context::acquire_mutex): Replace Yoda conditions with

> 	typical order conditions.

> 	* libgccjit.c (gcc_jit_context_new_struct_type,

> 	gcc_jit_struct_set_fields, gcc_jit_context_new_union_type,

> 	gcc_jit_context_new_function, gcc_jit_timer_pop): Likewise.

> 	* jit-builtins.c (matches_builtin): Likewise.

> 	* jit-recording.c (recording::compound_type::set_fields,

> 	recording::fields::write_reproducer, recording::rvalue::set_scope,

> 	recording::function::validate): Likewise.

> 	* jit-logging.c (logger::decref): Likewise.

> 

> --- gcc/read-rtl.c.jj	2017-09-01 09:26:37.000000000 +0200

> +++ gcc/read-rtl.c	2017-12-19 13:27:32.464594040 +0100

> @@ -1229,7 +1229,7 @@ static int

>  parse_reg_note_name (const char *string)

>  {

>    for (int i = 0; i < REG_NOTE_MAX; i++)

> -    if (0 == strcmp (string, GET_REG_NOTE_NAME (i)))

> +    if (strcmp (string, GET_REG_NOTE_NAME (i)) == 0)

>        return i;

>    fatal_with_file_and_line ("unrecognized REG_NOTE name: `%s'", string);

>  }

> --- gcc/sel-sched.c.jj	2017-12-13 19:44:59.000000000 +0100

> +++ gcc/sel-sched.c	2017-12-19 13:31:25.891621738 +0100

> @@ -672,7 +672,7 @@ extract_new_fences_from (flist_t old_fen

>      {

>        int seqno = INSN_SEQNO (succ);

>  

> -      if (0 < seqno && seqno <= orig_max_seqno

> +      if (seqno > 0 && seqno <= orig_max_seqno

>            && (pipelining_p || INSN_SCHED_TIMES (succ) <= 0))

>          {

>            bool b = (in_same_ebb_p (insn, succ)

> --- gcc/config/visium/constraints.md.jj	2017-01-01 12:45:40.000000000 +0100

> +++ gcc/config/visium/constraints.md	2017-12-19 14:30:11.925859534 +0100

> @@ -48,17 +48,17 @@ (define_register_constraint "v" "R3"

>  (define_constraint "J"

>    "Integer constant in the range 0 .. 65535 (16-bit immediate)"

>    (and (match_code "const_int")

> -       (match_test "0 <= ival && ival <= 65535")))

> +       (match_test "ival >= 0 && ival <= 65535")))

>  

>  (define_constraint "K"

>    "Integer constant in the range 1 .. 31 (5-bit immediate)"

>    (and (match_code "const_int")

> -       (match_test "1 <= ival && ival <= 31")))

> +       (match_test "ival >= 1 && ival <= 31")))

>  

>  (define_constraint "L"

>    "Integer constant in the range -65535 .. -1 (16-bit negative immediate)"

>    (and (match_code "const_int")

> -       (match_test "-65535 <= ival && ival <= -1")))

> +       (match_test "ival >= -65535 && ival <= -1")))

>  

>  (define_constraint "M"

>    "Integer constant -1"

> --- gcc/config/visium/predicates.md.jj	2017-09-01 09:26:56.000000000 +0200

> +++ gcc/config/visium/predicates.md	2017-12-19 14:30:40.714495341 +0100

> @@ -25,7 +25,7 @@ (define_predicate "const0_operand"

>  ;; Return true if OP is a constant in the range 1 .. 31.

>  (define_predicate "const_shift_operand"

>    (and (match_code "const_int")

> -       (match_test "1 <= INTVAL (op) && INTVAL (op) <= 31")))

> +       (match_test "INTVAL (op) >= 1 && INTVAL (op) <= 31")))

>  

>  ;; Return true if OP is either a register or the constant 0.

>  (define_predicate "reg_or_0_operand"

> --- gcc/config/visium/visium.c.jj	2017-12-18 14:57:34.000000000 +0100

> +++ gcc/config/visium/visium.c	2017-12-19 14:31:13.663078523 +0100

> @@ -1922,7 +1922,7 @@ visium_legitimize_address (rtx x, rtx ol

>        int offset_base = offset & ~mask;

>  

>        /* Check that all of the words can be accessed.  */

> -      if (4 < size && 0x80 < size + offset - offset_base)

> +      if (size > 4 && 0x80 < size + offset - offset_base)

>  	offset_base = offset & ~0x3f;

>        if (offset_base != 0 && offset_base != offset && (offset & mask1) == 0)

>  	{

> @@ -1968,7 +1968,7 @@ visium_legitimize_reload_address (rtx x,

>        int offset_base = offset & ~mask;

>  

>        /* Check that all of the words can be accessed.  */

> -      if (4 < size && 0x80 < size + offset - offset_base)

> +      if (size > 4 && 0x80 < size + offset - offset_base)

>  	offset_base = offset & ~0x3f;

>  

>        if (offset_base && (offset & mask1) == 0)

> --- gcc/config/m68k/m68k.c.jj	2017-12-18 14:57:31.000000000 +0100

> +++ gcc/config/m68k/m68k.c	2017-12-19 14:24:12.230409888 +0100

> @@ -3523,8 +3523,7 @@ output_reg_adjust (rtx reg, int n)

>  {

>    const char *s;

>  

> -  gcc_assert (GET_MODE (reg) == SImode

> -	      && -12 <= n && n != 0 && n <= 12);

> +  gcc_assert (GET_MODE (reg) == SImode && n >= -12 && n != 0 && n <= 12);

>  

>    switch (n)

>      {

> @@ -3566,8 +3565,7 @@ emit_reg_adjust (rtx reg1, int n)

>  {

>    rtx reg2;

>  

> -  gcc_assert (GET_MODE (reg1) == SImode

> -	      && -12 <= n && n != 0 && n <= 12);

> +  gcc_assert (GET_MODE (reg1) == SImode && n >= -12 && n != 0 && n <= 12);

>  

>    reg1 = copy_rtx (reg1);

>    reg2 = copy_rtx (reg1);

> --- gcc/config/arm/arm.c.jj	2017-12-18 14:57:34.000000000 +0100

> +++ gcc/config/arm/arm.c	2017-12-19 14:02:20.070050866 +0100

> @@ -13987,7 +13987,7 @@ arm_block_move_unaligned_straight (rtx d

>    HOST_WIDE_INT src_autoinc, dst_autoinc;

>    rtx mem, addr;

>    

> -  gcc_assert (1 <= interleave_factor && interleave_factor <= 4);

> +  gcc_assert (interleave_factor >= 1 && interleave_factor <= 4);

>    

>    /* Use hard registers if we have aligned source or destination so we can use

>       load/store multiple with contiguous registers.  */

> --- gcc/config/avr/constraints.md.jj	2017-01-01 12:45:41.000000000 +0100

> +++ gcc/config/avr/constraints.md	2017-12-19 14:08:26.664395701 +0100

> @@ -224,25 +224,25 @@ (define_constraint "Y00"

>  (define_constraint "Y01"

>    "Fixed-point or integer constant with bit representation 0x1"

>    (ior (and (match_code "const_fixed")

> -            (match_test "1 == INTVAL (avr_to_int_mode (op))"))

> +	    (match_test "INTVAL (avr_to_int_mode (op)) == 1"))

>         (match_test "satisfies_constraint_P (op)")))

>  

>  (define_constraint "Ym1"

>    "Fixed-point or integer constant with bit representation -0x1"

>    (ior (and (match_code "const_fixed")

> -            (match_test "-1 == INTVAL (avr_to_int_mode (op))"))

> +	    (match_test "INTVAL (avr_to_int_mode (op)) == -1"))

>         (match_test "satisfies_constraint_N (op)")))

>  

>  (define_constraint "Y02"

>    "Fixed-point or integer constant with bit representation 0x2"

>    (ior (and (match_code "const_fixed")

> -            (match_test "2 == INTVAL (avr_to_int_mode (op))"))

> +	    (match_test "INTVAL (avr_to_int_mode (op)) == 2"))

>         (match_test "satisfies_constraint_K (op)")))

>  

>  (define_constraint "Ym2"

>    "Fixed-point or integer constant with bit representation -0x2"

>    (ior (and (match_code "const_fixed")

> -            (match_test "-2 == INTVAL (avr_to_int_mode (op))"))

> +	    (match_test "INTVAL (avr_to_int_mode (op)) == -2"))

>         (match_test "satisfies_constraint_Cm2 (op)")))

>  

>  (define_constraint "Yx2"

> --- gcc/config/avr/avr-log.c.jj	2017-12-18 14:57:29.000000000 +0100

> +++ gcc/config/avr/avr-log.c	2017-12-19 14:39:17.372941421 +0100

> @@ -86,7 +86,7 @@ avr_vdump (FILE *stream, const char *cal

>  {

>    va_list ap;

>          

> -  if (NULL == stream && dump_file)

> +  if (stream == NULL && dump_file)

>      stream = dump_file;

>  

>    va_start (ap, caller);

> @@ -294,15 +294,15 @@ avr_log_set_avr_log (void)

>        str[0] = ',';

>        strcat (stpcpy (str+1, avr_log_details), ",");

>  

> -      all |= NULL != strstr (str, ",all,");

> -      info = NULL != strstr (str, ",?,");

> +      all |= strstr (str, ",all,") != NULL;

> +      info = strstr (str, ",?,") != NULL;

>  

>        if (info)

>          fprintf (stderr, "\n-mlog=");

>  

>  #define SET_DUMP_DETAIL(S)                                       \

>        do {                                                       \

> -        avr_log.S = (all || NULL != strstr (str, "," #S ","));   \

> +	avr_log.S = (all || strstr (str, "," #S ",") != NULL);   \

>          if (info)                                                \

>            fprintf (stderr, #S ",");                              \

>        } while (0)

> --- gcc/config/avr/predicates.md.jj	2017-01-01 12:45:41.000000000 +0100

> +++ gcc/config/avr/predicates.md	2017-12-19 14:10:40.638694770 +0100

> @@ -221,7 +221,7 @@ (define_predicate "combine_pseudo_regist

>  ;; 8 or 16 or 24.

>  (define_predicate "const_8_16_24_operand"

>    (and (match_code "const_int")

> -       (match_test "8 == INTVAL(op) || 16 == INTVAL(op) || 24 == INTVAL(op)")))

> +       (match_test "INTVAL(op) == 8 || INTVAL(op) == 16 || INTVAL(op) == 24")))

>  

>  ;; Unsigned CONST_INT that fits in 8 bits, i.e. 0..255.

>  (define_predicate "u8_operand"

> --- gcc/config/avr/avr.c.jj	2017-12-18 14:57:29.000000000 +0100

> +++ gcc/config/avr/avr.c	2017-12-19 14:38:38.542434284 +0100

> @@ -65,7 +65,7 @@

>  #define MAX_LD_OFFSET(MODE) (64 - (signed)GET_MODE_SIZE (MODE))

>  

>  /* Return true if STR starts with PREFIX and false, otherwise.  */

> -#define STR_PREFIX_P(STR,PREFIX) (0 == strncmp (STR, PREFIX, strlen (PREFIX)))

> +#define STR_PREFIX_P(STR,PREFIX) (strncmp (STR, PREFIX, strlen (PREFIX)) == 0)

>  

>  /* The 4 bits starting at SECTION_MACH_DEP are reserved to store the

>     address space where data is to be located.

> @@ -269,7 +269,7 @@ avr_popcount_each_byte (rtx xval, int n_

>        rtx xval8 = simplify_gen_subreg (QImode, xval, mode, i);

>        unsigned int val8 = UINTVAL (xval8) & GET_MODE_MASK (QImode);

>  

> -      if (0 == (pop_mask & (1 << popcount_hwi (val8))))

> +      if ((pop_mask & (1 << popcount_hwi (val8))) == 0)

>          return false;

>      }

>  

> @@ -461,8 +461,8 @@ avr_is_casesi_sequence (basic_block bb,

>  

>    // Assert on the anatomy of xinsn's operands we are going to work with.

>  

> -  gcc_assert (11 == recog_data.n_operands);

> -  gcc_assert (4 == recog_data.n_dups);

> +  gcc_assert (recog_data.n_operands == 11);

> +  gcc_assert (recog_data.n_dups == 4);

>  

>    if (dump_file)

>      {

> @@ -509,7 +509,7 @@ avr_casei_sequence_check_operands (rtx *

>  

>    if (sub_5

>        && SUBREG_P (sub_5)

> -      && 0 == SUBREG_BYTE (sub_5)

> +      && SUBREG_BYTE (sub_5) == 0

>        && rtx_equal_p (xop[5], SUBREG_REG (sub_5)))

>      return true;

>  

> @@ -697,7 +697,7 @@ avr_set_core_architecture (void)

>  

>    for (const avr_mcu_t *mcu = avr_mcu_types; ; mcu++)

>      {

> -      if (NULL == mcu->name)

> +      if (mcu->name == NULL)

>          {

>            /* Reached the end of `avr_mcu_types'.  This should actually never

>               happen as options are provided by device-specs.  It could be a

> @@ -709,9 +709,9 @@ avr_set_core_architecture (void)

>            avr_inform_core_architectures ();

>            break;

>          }

> -      else if (0 == strcmp (mcu->name, avr_mmcu)

> +      else if (strcmp (mcu->name, avr_mmcu) == 0

>                 // Is this a proper architecture ?

> -               && NULL == mcu->macro)

> +	       && mcu->macro == NULL)

>          {

>            avr_arch = &avr_arch_types[mcu->arch_id];

>            if (avr_n_flash < 0)

> @@ -1109,9 +1109,9 @@ avr_set_current_function (tree decl)

>    // Common problem is using "ISR" without first including avr/interrupt.h.

>    const char *name = IDENTIFIER_POINTER (DECL_NAME (decl));

>    name = default_strip_name_encoding (name);

> -  if (0 == strcmp ("ISR", name)

> -      || 0 == strcmp ("INTERRUPT", name)

> -      || 0 == strcmp ("SIGNAL", name))

> +  if (strcmp ("ISR", name) == 0

> +      || strcmp ("INTERRUPT", name) == 0

> +      || strcmp ("SIGNAL", name) == 0)

>      {

>        warning_at (loc, OPT_Wmisspelled_isr, "%qs is a reserved identifier"

>                    " in AVR-LibC.  Consider %<#include <avr/interrupt.h>%>"

> @@ -2572,7 +2572,7 @@ avr_legitimize_reload_address (rtx *px,

>  

>    if (GET_CODE (x) == PLUS

>        && REG_P (XEXP (x, 0))

> -      && 0 == reg_equiv_constant (REGNO (XEXP (x, 0)))

> +      && reg_equiv_constant (REGNO (XEXP (x, 0))) == 0

>        && CONST_INT_P (XEXP (x, 1))

>        && INTVAL (XEXP (x, 1)) >= 1)

>      {

> @@ -2639,10 +2639,8 @@ avr_legitimize_reload_address (rtx *px,

>  static const char*

>  avr_asm_len (const char* tpl, rtx* operands, int* plen, int n_words)

>  {

> -  if (NULL == plen)

> -    {

> -      output_asm_insn (tpl, operands);

> -    }

> +  if (plen == NULL)

> +    output_asm_insn (tpl, operands);

>    else

>      {

>        if (n_words < 0)

> @@ -2969,7 +2967,7 @@ avr_print_operand (FILE *file, rtx x, in

>    else if (code == 'x')

>      {

>        /* Constant progmem address - like used in jmp or call */

> -      if (0 == text_segment_operand (x, VOIDmode))

> +      if (text_segment_operand (x, VOIDmode) == 0)

>          if (warning (0, "accessing program memory"

>                       " with data memory address"))

>            {

> @@ -3930,7 +3928,7 @@ output_movqi (rtx_insn *insn, rtx operan

>        return avr_out_lpm (insn, operands, plen);

>      }

>  

> -  gcc_assert (1 == GET_MODE_SIZE (GET_MODE (dest)));

> +  gcc_assert (GET_MODE_SIZE (GET_MODE (dest)) == 1);

>  

>    if (REG_P (dest))

>      {

> @@ -4925,7 +4923,7 @@ output_movsisf (rtx_insn *insn, rtx oper

>    if (!l)

>      l = &dummy;

>  

> -  gcc_assert (4 == GET_MODE_SIZE (GET_MODE (dest)));

> +  gcc_assert (GET_MODE_SIZE (GET_MODE (dest)) == 4);

>  

>    if (REG_P (dest))

>      {

> @@ -8265,7 +8263,7 @@ avr_out_plus (rtx insn, rtx *xop, int *p

>        return "";

>      }

>  

> -  if (8 == n_bytes)

> +  if (n_bytes == 8)

>      {

>        op[0] = gen_rtx_REG (DImode, ACC_A);

>        op[1] = gen_rtx_REG (DImode, ACC_A);

> @@ -8383,11 +8381,11 @@ avr_out_bitop (rtx insn, rtx *xop, int *

>          {

>          case IOR:

>  

> -          if (0 == pop8)

> +	  if (pop8 == 0)

>              continue;

>            else if (ld_reg_p)

>              avr_asm_len ("ori %0,%1", op, plen, 1);

> -          else if (1 == pop8)

> +	  else if (pop8 == 1)

>              {

>                if (set_t != 1)

>                  avr_asm_len ("set", op, plen, 1);

> @@ -8396,7 +8394,7 @@ avr_out_bitop (rtx insn, rtx *xop, int *

>                op[1] = GEN_INT (exact_log2 (val8));

>                avr_asm_len ("bld %0,%1", op, plen, 1);

>              }

> -          else if (8 == pop8)

> +	  else if (pop8 == 8)

>              {

>                if (op[3] != NULL_RTX)

>                  avr_asm_len ("mov %0,%3", op, plen, 1);

> @@ -8419,13 +8417,13 @@ avr_out_bitop (rtx insn, rtx *xop, int *

>  

>          case AND:

>  

> -          if (8 == pop8)

> +	  if (pop8 == 8)

>              continue;

> -          else if (0 == pop8)

> +	  else if (pop8 == 0)

>              avr_asm_len ("clr %0", op, plen, 1);

>            else if (ld_reg_p)

>              avr_asm_len ("andi %0,%1", op, plen, 1);

> -          else if (7 == pop8)

> +	  else if (pop8 == 7)

>              {

>                if (set_t != 0)

>                  avr_asm_len ("clt", op, plen, 1);

> @@ -8447,9 +8445,9 @@ avr_out_bitop (rtx insn, rtx *xop, int *

>  

>          case XOR:

>  

> -          if (0 == pop8)

> +	  if (pop8 == 0)

>              continue;

> -          else if (8 == pop8)

> +	  else if (pop8 == 8)

>              avr_asm_len ("com %0", op, plen, 1);

>            else if (ld_reg_p && val8 == (1 << 7))

>              avr_asm_len ("subi %0,%1", op, plen, 1);

> @@ -8727,9 +8725,9 @@ avr_out_fract (rtx_insn *insn, rtx opera

>  

>    bool sign_extend = src.sbit && sign_bytes;

>  

> -  if (0 == dest.fbit % 8 && 7 == src.fbit % 8)

> +  if (dest.fbit % 8 == 0 && src.fbit % 8 == 7)

>      shift = ASHIFT;

> -  else if (7 == dest.fbit % 8 && 0 == src.fbit % 8)

> +  else if (dest.fbit % 8 == 7 && src.fbit % 8 == 0)

>      shift = ASHIFTRT;

>    else if (dest.fbit % 8 == src.fbit % 8)

>      shift = UNKNOWN;

> @@ -9401,8 +9399,7 @@ avr_adjust_insn_length (rtx_insn *insn,

>       It is easier to state this in an insn attribute "adjust_len" than

>       to clutter up code here...  */

>  

> -  if (!NONDEBUG_INSN_P (insn)

> -      || -1 == recog_memoized (insn))

> +  if (!NONDEBUG_INSN_P (insn) || recog_memoized (insn) == -1)

>      {

>        return len;

>      }

> @@ -10265,7 +10262,7 @@ avr_asm_init_sections (void)

>       we have also to track .rodata because it is located in RAM then.  */

>  

>  #if defined HAVE_LD_AVR_AVRXMEGA3_RODATA_IN_FLASH

> -  if (0 == avr_arch->flash_pm_offset)

> +  if (avr_arch->flash_pm_offset == 0)

>  #endif

>      readonly_data_section->unnamed.callback = avr_output_data_section_asm_op;

>    data_section->unnamed.callback = avr_output_data_section_asm_op;

> @@ -10303,7 +10300,7 @@ avr_asm_named_section (const char *name,

>  

>    if (!avr_need_copy_data_p

>  #if defined HAVE_LD_AVR_AVRXMEGA3_RODATA_IN_FLASH

> -      && 0 == avr_arch->flash_pm_offset

> +      && avr_arch->flash_pm_offset == 0

>  #endif

>        )

>      avr_need_copy_data_p = (STR_PREFIX_P (name, ".rodata")

> @@ -10439,8 +10436,7 @@ avr_encode_section_info (tree decl, rtx

>        /* PSTR strings are in generic space but located in flash:

>           patch address space.  */

>  

> -      if (!AVR_TINY

> -          && -1 == avr_progmem_p (decl, attr))

> +      if (!AVR_TINY && avr_progmem_p (decl, attr) == -1)

>          as = ADDR_SPACE_FLASH;

>  

>        AVR_SYMBOL_SET_ADDR_SPACE (sym, as);

> @@ -10479,7 +10475,7 @@ avr_encode_section_info (tree decl, rtx

>        && SYMBOL_REF_P (XEXP (rtl, 0)))

>      {

>        rtx sym = XEXP (rtl, 0);

> -      bool progmem_p = -1 == avr_progmem_p (decl, DECL_ATTRIBUTES (decl));

> +      bool progmem_p = avr_progmem_p (decl, DECL_ATTRIBUTES (decl)) == -1;

>  

>        if (progmem_p)

>          {

> @@ -12091,9 +12087,7 @@ test_hard_reg_class (enum reg_class rcla

>  static bool

>  avr_2word_insn_p (rtx_insn *insn)

>  {

> -  if (TARGET_SKIP_BUG

> -      || !insn

> -      || 2 != get_attr_length (insn))

> +  if (TARGET_SKIP_BUG || !insn || get_attr_length (insn) != 2)

>      {

>        return false;

>      }

> @@ -12402,11 +12396,8 @@ output_reload_in_const (rtx *op, rtx clo

>  

>            if (INTVAL (lo16) == INTVAL (hi16))

>              {

> -              if (0 != INTVAL (lo16)

> -                  || !clear_p)

> -                {

> -                  avr_asm_len ("movw %C0,%A0", &op[0], len, 1);

> -                }

> +	      if (INTVAL (lo16) != 0 || !clear_p)

> +		avr_asm_len ("movw %C0,%A0", &op[0], len, 1);

>  

>                break;

>              }

> @@ -12458,7 +12449,7 @@ output_reload_in_const (rtx *op, rtx clo

>  

>        /* Need no clobber reg for -1: Use CLR/DEC */

>  

> -      if (-1 == ival[n])

> +      if (ival[n] == -1)

>          {

>            if (!clear_p)

>              avr_asm_len ("clr %0", &xdest[n], len, 1);

> @@ -12466,7 +12457,7 @@ output_reload_in_const (rtx *op, rtx clo

>            avr_asm_len ("dec %0", &xdest[n], len, 1);

>            continue;

>          }

> -      else if (1 == ival[n])

> +      else if (ival[n] == 1)

>          {

>            if (!clear_p)

>              avr_asm_len ("clr %0", &xdest[n], len, 1);

> @@ -13690,7 +13681,7 @@ bool

>  avr_has_nibble_0xf (rtx ival)

>  {

>    unsigned int map = UINTVAL (ival) & GET_MODE_MASK (SImode);

> -  return 0 != avr_map_metric (map, MAP_MASK_PREIMAGE_F);

> +  return avr_map_metric (map, MAP_MASK_PREIMAGE_F) != 0;

>  }

>  

>  

> @@ -13757,7 +13748,7 @@ static const avr_map_op_t avr_map_op[] =

>  static avr_map_op_t

>  avr_map_decompose (unsigned int f, const avr_map_op_t *g, bool val_const_p)

>  {

> -  bool val_used_p = 0 != avr_map_metric (f, MAP_MASK_PREIMAGE_F);

> +  bool val_used_p = avr_map_metric (f, MAP_MASK_PREIMAGE_F) != 0;

>    avr_map_op_t f_ginv = *g;

>    unsigned int ginv = g->ginv;

>  

> @@ -13788,13 +13779,10 @@ avr_map_decompose (unsigned int f, const

>  

>    /* Step 2a:  Compute cost of F o G^-1  */

>  

> -  if (0 == avr_map_metric (f_ginv.map, MAP_NONFIXED_0_7))

> -    {

> -      /* The mapping consists only of fixed points and can be folded

> -         to AND/OR logic in the remainder.  Reasonable cost is 3. */

> -

> -      f_ginv.cost = 2 + (val_used_p && !val_const_p);

> -    }

> +  if (avr_map_metric (f_ginv.map, MAP_NONFIXED_0_7) == 0)

> +    /* The mapping consists only of fixed points and can be folded

> +       to AND/OR logic in the remainder.  Reasonable cost is 3. */

> +    f_ginv.cost = 2 + (val_used_p && !val_const_p);

>    else

>      {

>        rtx xop[4];

> @@ -14500,7 +14488,7 @@ avr_fold_builtin (tree fndecl, int n_arg

>          map = TREE_INT_CST_LOW (tmap);

>  

>          if (TREE_CODE (tval) != INTEGER_CST

> -            && 0 == avr_map_metric (map, MAP_MASK_PREIMAGE_F))

> +	    && avr_map_metric (map, MAP_MASK_PREIMAGE_F) == 0)

>            {

>              /* There are no F in the map, i.e. 3rd operand is unused.

>                 Replace that argument with some constant to render

> @@ -14511,7 +14499,7 @@ avr_fold_builtin (tree fndecl, int n_arg

>            }

>  

>          if (TREE_CODE (tbits) != INTEGER_CST

> -            && 0 == avr_map_metric (map, MAP_PREIMAGE_0_7))

> +	    && avr_map_metric (map, MAP_PREIMAGE_0_7) == 0)

>            {

>              /* Similar for the bits to be inserted. If they are unused,

>                 we can just as well pass 0.  */

> @@ -14550,7 +14538,7 @@ avr_fold_builtin (tree fndecl, int n_arg

>          /* If bits don't change their position we can use vanilla logic

>             to merge the two arguments.  */

>  

> -        if (0 == avr_map_metric (map, MAP_NONFIXED_0_7))

> +	if (avr_map_metric (map, MAP_NONFIXED_0_7) == 0)

>            {

>              int mask_f = avr_map_metric (map, MAP_MASK_PREIMAGE_F);

>              tree tres, tmask = build_int_cst (val_type, mask_f ^ 0xff);

> --- gcc/config/avr/driver-avr.c.jj	2017-12-18 14:57:29.000000000 +0100

> +++ gcc/config/avr/driver-avr.c	2017-12-19 14:09:08.134869194 +0100

> @@ -59,7 +59,7 @@ avr_devicespecs_file (int argc, const ch

>        return X_NODEVLIB;

>  

>      case 1:

> -      if (0 == strcmp ("device-specs", argv[0]))

> +      if (strcmp ("device-specs", argv[0]) == 0)

>          {

>            /* FIXME:  This means "device-specs%s" from avr.h:DRIVER_SELF_SPECS

>               has not been resolved to a path.  That case can occur when the

> @@ -81,7 +81,7 @@ avr_devicespecs_file (int argc, const ch

>        // Allow specifying the same MCU more than once.

>  

>        for (int i = 2; i < argc; i++)

> -        if (0 != strcmp (mmcu, argv[i]))

> +	if (strcmp (mmcu, argv[i]) != 0)

>            {

>              error ("specified option %qs more than once", "-mmcu");

>              return X_NODEVLIB;

> --- gcc/config/avr/gen-avr-mmcu-specs.c.jj	2017-12-18 14:57:29.000000000 +0100

> +++ gcc/config/avr/gen-avr-mmcu-specs.c	2017-12-19 14:09:53.510293110 +0100

> @@ -55,7 +55,7 @@

>  static bool

>  str_prefix_p (const char *str, const char *prefix)

>  {

> -  return 0 == strncmp (str, prefix, strlen (prefix));

> +  return strncmp (str, prefix, strlen (prefix)) == 0;

>  }

>  

>  

> @@ -133,12 +133,12 @@ print_mcu (const avr_mcu_t *mcu)

>  

>    FILE *f = fopen (name ,"w");

>  

> -  bool absdata = 0 != (mcu->dev_attribute & AVR_ISA_LDS);

> -  bool errata_skip = 0 != (mcu->dev_attribute & AVR_ERRATA_SKIP);

> -  bool rmw = 0 != (mcu->dev_attribute & AVR_ISA_RMW);

> -  bool sp8 = 0 != (mcu->dev_attribute & AVR_SHORT_SP);

> +  bool absdata = (mcu->dev_attribute & AVR_ISA_LDS) != 0;

> +  bool errata_skip = (mcu->dev_attribute & AVR_ERRATA_SKIP) != 0;

> +  bool rmw = (mcu->dev_attribute & AVR_ISA_RMW) != 0;

> +  bool sp8 = (mcu->dev_attribute & AVR_SHORT_SP) != 0;

>    bool rcall = (mcu->dev_attribute & AVR_ISA_RCALL);

> -  bool is_arch = NULL == mcu->macro;

> +  bool is_arch = mcu->macro == NULL;

>    bool is_device = ! is_arch;

>  

>    if (is_arch

> --- gcc/config/i386/i386.c.jj	2017-12-18 14:57:27.000000000 +0100

> +++ gcc/config/i386/i386.c	2017-12-19 14:20:22.819314384 +0100

> @@ -3160,8 +3160,8 @@ ix86_parse_stringop_strategy_string (cha

>        if (next_range_str)

>          *next_range_str++ = '\0';

>  

> -      if (3 != sscanf (curr_range_str, "%20[^:]:%d:%10s",

> -                       alg_name, &maxs, align))

> +      if (sscanf (curr_range_str, "%20[^:]:%d:%10s", alg_name, &maxs,

> +		  align) != 3)

>          {

>  	  error ("wrong argument %qs to option %qs", curr_range_str, opt);

>            return;

> --- gcc/config/m32c/m32c-pragma.c.jj	2017-12-18 14:57:25.000000000 +0100

> +++ gcc/config/m32c/m32c-pragma.c	2017-12-19 14:22:35.910629071 +0100

> @@ -53,7 +53,7 @@ m32c_pragma_memregs (cpp_reader * reader

>  	  if (type != CPP_EOF)

>  	    warning (0, "junk at end of #pragma GCC memregs [0..16]");

>  

> -	  if (0 <= i && i <= 16)

> +	  if (i >= 0 && i <= 16)

>  	    {

>  	      if (!ok_to_change_target_memregs)

>  		{

> --- gcc/config/m32c/m32c.c.jj	2017-12-18 14:57:25.000000000 +0100

> +++ gcc/config/m32c/m32c.c	2017-12-19 14:22:19.452837474 +0100

> @@ -517,7 +517,7 @@ m32c_conditional_register_usage (void)

>  {

>    int i;

>  

> -  if (0 <= target_memregs && target_memregs <= 16)

> +  if (target_memregs >= 0 && target_memregs <= 16)

>      {

>        /* The command line option is bytes, but our "registers" are

>  	 16-bit words.  */

> @@ -2308,9 +2308,9 @@ m32c_address_cost (rtx addr, machine_mod

>        i = INTVAL (addr);

>        if (i == 0)

>  	return COSTS_N_INSNS(1);

> -      if (0 < i && i <= 255)

> +      if (i > 0 && i <= 255)

>  	return COSTS_N_INSNS(2);

> -      if (0 < i && i <= 65535)

> +      if (i > 0 && i <= 65535)

>  	return COSTS_N_INSNS(3);

>        return COSTS_N_INSNS(4);

>      case SYMBOL_REF:

> @@ -2323,9 +2323,9 @@ m32c_address_cost (rtx addr, machine_mod

>  	  i = INTVAL (XEXP (addr, 1));

>  	  if (i == 0)

>  	    return COSTS_N_INSNS(1);

> -	  if (0 < i && i <= 255)

> +	  if (i > 0 && i <= 255)

>  	    return COSTS_N_INSNS(2);

> -	  if (0 < i && i <= 65535)

> +	  if (i > 0 && i <= 65535)

>  	    return COSTS_N_INSNS(3);

>  	}

>        return COSTS_N_INSNS(4);

> --- gcc/config/m32c/predicates.md.jj	2017-01-01 12:45:42.000000000 +0100

> +++ gcc/config/m32c/predicates.md	2017-12-19 14:23:07.918223765 +0100

> @@ -210,11 +210,11 @@ (define_predicate "r1h_operand"

>  (define_predicate "shiftcount_operand"

>    (ior (match_operand 0 "mra_operand" "")

>         (and (match_operand 2 "const_int_operand" "")

> -	    (match_test "-8 <= INTVAL (op) && INTVAL (op) && INTVAL (op) <= 8"))))

> +	    (match_test "INTVAL (op) >= -8 && INTVAL (op) && INTVAL (op) <= 8"))))

>  (define_predicate "longshiftcount_operand"

>    (ior (match_operand 0 "mra_operand" "")

>         (and (match_operand 2 "const_int_operand" "")

> -	    (match_test "-32 <= INTVAL (op) && INTVAL (op) && INTVAL (op) <= 32"))))

> +	    (match_test "INTVAL (op) >= -32 && INTVAL (op) && INTVAL (op) <= 32"))))

>  

>  ; TRUE for r0..r3, a0..a1, or sp.

>  (define_predicate "mra_or_sp_operand"

> --- gcc/config/iq2000/iq2000.c.jj	2017-12-18 14:57:31.000000000 +0100

> +++ gcc/config/iq2000/iq2000.c	2017-12-19 14:21:34.479406964 +0100

> @@ -1982,10 +1982,10 @@ iq2000_expand_prologue (void)

>  	{

>  	  if (next_arg == 0

>  	      && DECL_NAME (cur_arg)

> -	      && ((0 == strcmp (IDENTIFIER_POINTER (DECL_NAME (cur_arg)),

> -				"__builtin_va_alist"))

> -		  || (0 == strcmp (IDENTIFIER_POINTER (DECL_NAME (cur_arg)),

> -				   "va_alist"))))

> +	      && (strcmp (IDENTIFIER_POINTER (DECL_NAME (cur_arg)),

> +			  "__builtin_va_alist") == 0

> +		  || strcmp (IDENTIFIER_POINTER (DECL_NAME (cur_arg)),

> +			     "va_alist") == 0))

>  	    {

>  	      last_arg_is_vararg_marker = 1;

>  	      break;

> --- gcc/config/nios2/nios2.c.jj	2017-12-18 14:57:30.000000000 +0100

> +++ gcc/config/nios2/nios2.c	2017-12-19 14:26:08.867934356 +0100

> @@ -1330,7 +1330,7 @@ nios2_handle_custom_fpu_insn_option (int

>  {

>    int param = N2FPU_N (fpu_insn_index);

>  

> -  if (0 <= param && param <= 255)

> +  if (param >= 0 && param <= 255)

>      nios2_register_custom_code (param, CCS_FPU, fpu_insn_index);

>  

>    /* Valid values are 0-255, but also allow -1 so that the

> @@ -5131,7 +5131,7 @@ static bool

>  can_use_cdx_ldstw (int regno, int basereg, int offset)

>  {

>    if (CDX_REG_P (regno) && CDX_REG_P (basereg)

> -      && (offset & 0x3) == 0 && 0 <= offset && offset < 0x40)

> +      && (offset & 0x3) == 0 && offset >= 0 && offset < 0x40)

>      return true;

>    else if (basereg == SP_REGNO

>  	   && offset >= 0 && offset < 0x80 && (offset & 0x3) == 0)

> --- gcc/config/nios2/nios2.h.jj	2017-10-30 12:02:36.000000000 +0100

> +++ gcc/config/nios2/nios2.h	2017-12-19 14:26:31.779644510 +0100

> @@ -221,7 +221,7 @@ enum reg_class

>    ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)

>  

>  #define CDX_REG_P(REGNO)						\

> -  ((REGNO) == 16 || (REGNO) == 17 || (2 <= (REGNO) && (REGNO) <= 7))

> +  ((REGNO) == 16 || (REGNO) == 17 || ((REGNO) >= 2 && (REGNO) <= 7))

>  

>  /* Tests for various kinds of constants used in the Nios II port.  */

>  

> --- gcc/config/cr16/cr16.h.jj	2017-11-13 09:31:34.000000000 +0100

> +++ gcc/config/cr16/cr16.h	2017-12-19 14:11:59.820689479 +0100

> @@ -233,7 +233,7 @@ while (0)

>  /* A C expression whose value is RTL representing the value of the return

>     address for the frame COUNT steps up from the current frame.  */

>  #define RETURN_ADDR_RTX(COUNT, FRAME) 			  		\

> -  (0 == COUNT)	?  gen_rtx_PLUS (Pmode, gen_rtx_RA, gen_rtx_RA)		\

> +  (COUNT == 0)	?  gen_rtx_PLUS (Pmode, gen_rtx_RA, gen_rtx_RA)		\

>  		:  const0_rtx

>  

>  enum reg_class

> @@ -293,7 +293,7 @@ enum reg_class

>  	(CR16_REGNO_OK_FOR_BASE_P(REGNO)  &&	  \

>  	  ((GET_MODE_SIZE (MODE) > 4  &&  	  \

>  	     (REGNO) < CR16_FIRST_DWORD_REGISTER) \

> -	     ? (0 == ((REGNO) & 1)) 		  \

> +	     ? (((REGNO) & 1) == 0) 		  \

>  	     : 1))

>  

>  /* TODO: For now lets not support index addressing mode.  */

> --- gcc/config/cr16/cr16.md.jj	2017-01-01 12:45:42.000000000 +0100

> +++ gcc/config/cr16/cr16.md	2017-12-19 14:13:47.569321507 +0100

> @@ -655,8 +655,8 @@ (define_insn "*mov<mode>_double"

>     || register_operand (operands[1], DImode)

>     || register_operand (operands[1], DFmode)"

>    {

> -    if (0 == which_alternative) {

> -      rtx xoperands[2] ;

> +    if (which_alternative == 0) {

> +      rtx xoperands[2];

>        int reg0 = REGNO (operands[0]);

>        int reg1 = REGNO (operands[1]);

>  

> @@ -673,9 +673,9 @@ (define_insn "*mov<mode>_double"

>  	  output_asm_insn ("movd\t%1, %0", operands);

>  	}}

>  

> -    else if (1 == which_alternative) {

> -      rtx lo_operands[2] ;

> -      rtx hi_operands[2] ;

> +    else if (which_alternative == 1) {

> +      rtx lo_operands[2];

> +      rtx hi_operands[2];

>  

>        lo_operands[0] = gen_rtx_REG (SImode, REGNO (operands[0]));

>        hi_operands[0] = gen_rtx_REG (SImode, REGNO (operands[0]) + 2);

> @@ -688,40 +688,40 @@ (define_insn "*mov<mode>_double"

>        output_asm_insn ("movd\t%1, %0", lo_operands);

>        output_asm_insn ("movd\t%1, %0", hi_operands);}

>  

> -    else if (2 == which_alternative) {

> -      rtx xoperands[2] ;

> -      int reg0 = REGNO (operands[0]), reg1 = -2 ;

> -      rtx addr ;

> +    else if (which_alternative == 2) {

> +      rtx xoperands[2];

> +      int reg0 = REGNO (operands[0]), reg1 = -2;

> +      rtx addr;

>  

>  	if (MEM_P (operands[1]))

>  	  addr = XEXP (operands[1], 0);

>  	else

> -	  addr = NULL_RTX ;

> +	  addr = NULL_RTX;

>  	switch (GET_CODE (addr))

>  	  {

>  	    case REG:

>  	    case SUBREG:

>  	      reg1 = REGNO (addr);

> -	      break ;

> +	      break;

>  	    case PLUS:

>  	      switch (GET_CODE (XEXP (addr, 0))) {

>  		case REG:

>  		case SUBREG:

>  		  reg1 = REGNO (XEXP (addr, 0));

> -		  break ;

> +		  break;

>  		case PLUS:

>  		  reg1 = REGNO (XEXP (XEXP (addr, 0), 0));

> -		  break ;

> +		  break;

>  		default:

>  		  inform (DECL_SOURCE_LOCATION (cfun->decl), "unexpected expression; addr:");

>  		  debug_rtx (addr);

>  		  inform (DECL_SOURCE_LOCATION (cfun->decl), "operands[1]:");

>  		  debug_rtx (operands[1]);

>  		  inform (DECL_SOURCE_LOCATION (cfun->decl), "generated code might now work\n");

> -		  break ;}

> -	      break ;

> +		  break;}

> +	      break;

>  	    default:

> -	      break ;

> +	      break;

>  	  }

>  

>  	xoperands[0] = gen_rtx_REG (SImode, reg0 + 2);

> @@ -739,13 +739,13 @@ (define_insn "*mov<mode>_double"

>  	  }}

>      else

>        {

> -	rtx xoperands[2] ;

> +	rtx xoperands[2];

>  	xoperands[0] = offset_address (operands[0], GEN_INT (4), 2);

>  	xoperands[1] = gen_rtx_REG (SImode, REGNO (operands[1]) + 2);

>  	output_asm_insn ("stord\t%1, %0", operands);

>     	output_asm_insn ("stord\t%1, %0", xoperands);

>        }

> -    return "" ;

> +    return "";

>    }

>    [(set_attr "length" "4, <lImmArithD>, <lImmArithD>, <lImmArithD>")]

>  )

> --- gcc/config/cr16/cr16.c.jj	2017-12-18 14:57:35.000000000 +0100

> +++ gcc/config/cr16/cr16.c	2017-12-19 14:11:24.472138262 +0100

> @@ -1859,10 +1859,10 @@ cr16_create_dwarf_for_multi_push (rtx in

>  

>    for (i = current_frame_info.last_reg_to_save; i >= 0;)

>      {

> -      if (!current_frame_info.save_regs[i] || 0 == i || split_here)

> +      if (!current_frame_info.save_regs[i] || i == 0 || split_here)

>  	{

>  	  /* This block of regs is pushed in one instruction.  */

> -	  if (0 == i && current_frame_info.save_regs[i])

> +	  if (i == 0 && current_frame_info.save_regs[i])

>  	    from = 0;

>  

>  	  for (j = to; j >= from; --j)

> --- gcc/config/h8300/h8300.c.jj	2017-12-18 14:57:35.000000000 +0100

> +++ gcc/config/h8300/h8300.c	2017-12-19 14:19:44.565798781 +0100

> @@ -1267,7 +1267,7 @@ h8300_rtx_costs (rtx x, machine_mode mod

>  	    *total = 0;

>  	    return true;

>  	  }

> -	if (-4 <= n && n <= 4)

> +	if (n >= -4 && n <= 4)

>  	  {

>  	    switch ((int) n)

>  	      {

> @@ -4171,7 +4171,7 @@ get_shift_alg (enum shift_type shift_typ

>  	      goto end;

>  	    }

>  	}

> -      else if ((8 <= count && count <= 13)

> +      else if ((count >= 8 && count <= 13)

>  	       || (TARGET_H8300S && count == 14))

>  	{

>  	  info->remainder = count - 8;

> @@ -4251,7 +4251,7 @@ get_shift_alg (enum shift_type shift_typ

>        gcc_unreachable ();

>  

>      case SIshift:

> -      if (TARGET_H8300 && 8 <= count && count <= 9)

> +      if (TARGET_H8300 && count >= 8 && count <= 9)

>  	{

>  	  info->remainder = count - 8;

>  

> @@ -4314,9 +4314,9 @@ get_shift_alg (enum shift_type shift_typ

>  	      gcc_unreachable ();

>  	    }

>  	}

> -      else if ((TARGET_H8300 && 16 <= count && count <= 20)

> -	       || (TARGET_H8300H && 16 <= count && count <= 19)

> -	       || (TARGET_H8300S && 16 <= count && count <= 21))

> +      else if ((TARGET_H8300 && count >= 16 && count <= 20)

> +	       || (TARGET_H8300H && count >= 16 && count <= 19)

> +	       || (TARGET_H8300S && count >= 16 && count <= 21))

>  	{

>  	  info->remainder = count - 16;

>  

> @@ -4353,7 +4353,7 @@ get_shift_alg (enum shift_type shift_typ

>  	      goto end;

>  	    }

>  	}

> -      else if (TARGET_H8300 && 24 <= count && count <= 28)

> +      else if (TARGET_H8300 && count >= 24 && count <= 28)

>  	{

>  	  info->remainder = count - 24;

>  

> @@ -4377,7 +4377,7 @@ get_shift_alg (enum shift_type shift_typ

>  	    }

>  	}

>        else if ((TARGET_H8300H && count == 24)

> -	       || (TARGET_H8300S && 24 <= count && count <= 25))

> +	       || (TARGET_H8300S && count >= 24 && count <= 25))

>  	{

>  	  info->remainder = count - 24;

>  

> --- gcc/config/vax/constraints.md.jj	2017-01-01 12:45:43.000000000 +0100

> +++ gcc/config/vax/constraints.md	2017-12-19 14:28:30.429143525 +0100

> @@ -25,32 +25,32 @@ (define_constraint "Z0"

>  (define_constraint "U06"

>     "unsigned 6 bit value (0..63)"

>     (and (match_code "const_int")

> -	(match_test "0 <= ival && ival < 64")))

> +	(match_test "ival >= 0 && ival < 64")))

>  

>  (define_constraint "U08"

>     "Unsigned 8 bit value"

>     (and (match_code "const_int")

> -	(match_test "0 <= ival && ival < 256")))

> +	(match_test "ival >= 0 && ival < 256")))

>  

>  (define_constraint "U16"

>     "Unsigned 16 bit value"

>     (and (match_code "const_int")

> -	(match_test "0 <= ival && ival < 65536")))

> +	(match_test "ival >= 0 && ival < 65536")))

>  

>  (define_constraint "CN6"

>     "negative 6 bit value (-63..-1)"

>     (and (match_code "const_int")

> -	(match_test "-63 <= ival && ival < 0")))

> +	(match_test "ival >= -63 && ival < 0")))

>  

>  (define_constraint "S08"

>     "signed 8 bit value [old]"

>     (and (match_code "const_int")

> -	(match_test "-128 <= ival && ival < 128")))

> +	(match_test "ival >= -128 && ival < 128")))

>  

>  (define_constraint "S16"

>     "signed 16 bit value [old]"

>     (and (match_code "const_int")

> -	(match_test "-32768 <= ival && ival < 32768")))

> +	(match_test "ival >= -32768 && ival < 32768")))

>  

>  (define_constraint "I"

>     "Match a CONST_INT of 0 [old]"

> --- gcc/config/vax/vax.c.jj	2017-12-18 14:57:35.000000000 +0100

> +++ gcc/config/vax/vax.c	2017-12-19 14:29:18.099540468 +0100

> @@ -2029,7 +2029,7 @@ adjacent_operands_p (rtx lo, rtx hi, mac

>    if (REG_P (lo))

>      return mode == SImode && REGNO (lo) + 1 == REGNO (hi);

>    if (CONST_INT_P (lo))

> -    return INTVAL (hi) == 0 && 0 <= INTVAL (lo) && INTVAL (lo) < 64;

> +    return INTVAL (hi) == 0 && UINTVAL (lo) < 64;

>    if (CONST_INT_P (lo))

>      return mode != SImode;

>  

> --- gcc/config/ft32/constraints.md.jj	2017-01-01 12:45:44.000000000 +0100

> +++ gcc/config/ft32/constraints.md	2017-12-19 14:14:45.445586713 +0100

> @@ -91,7 +91,7 @@ (define_constraint "x"

>  (define_constraint "L"

>    "A 16-bit unsigned constant, multiple of 4 (-65532..0)"

>    (and (match_code "const_int")

> -       (match_test "-65532 <= ival && ival <= 0 && (ival & 3) == 0")))

> +       (match_test "ival >= -65532 && ival <= 0 && (ival & 3) == 0")))

>  

>  (define_constraint "S"

>    "A 20-bit signed constant (-524288..524287)"

> @@ -105,9 +105,9 @@ (define_constraint "S"

>  (define_constraint "b"

>    "A constant for a bitfield width (1..16)"

>    (and (match_code "const_int")

> -       (match_test "1 <= ival && ival <= 16")))

> +       (match_test "ival >= 1 && ival <= 16")))

>  

>  (define_constraint "KA"

>    "A 10-bit signed constant (-512..511)"

>    (and (match_code "const_int")

> -       (match_test "-512 <= ival && ival <= 511")))

> +       (match_test "ival >= -512 && ival <= 511")))

> --- gcc/config/ft32/ft32.c.jj	2017-12-18 14:57:34.000000000 +0100

> +++ gcc/config/ft32/ft32.c	2017-12-19 14:15:57.748670927 +0100

> @@ -265,12 +265,12 @@ ft32_load_immediate (rtx dst, int32_t i)

>  {

>    char pattern[100];

>  

> -  if ((-524288 <= i) && (i <= 524287))

> +  if (i >= -524288 && i <= 524287)

>      {

>        sprintf (pattern, "ldk.l  %%0,%d", i);

>        output_asm_insn (pattern, &dst);

>      }

> -  else if ((-536870912 <= i) && (i <= 536870911))

> +  else if (i >= -536870912 && i <= 536870911)

>      {

>        ft32_load_immediate (dst, i >> 10);

>        sprintf (pattern, "ldl.l  %%0,%%0,%d", i & 1023);

> @@ -283,7 +283,7 @@ ft32_load_immediate (rtx dst, int32_t i)

>        for (rd = 1; rd < 32; rd++)

>          {

>            u = ((u >> 31) & 1) | (u << 1);

> -          if ((-524288 <= (int32_t) u) && ((int32_t) u <= 524287))

> +	  if ((int32_t) u >= -524288 && (int32_t) u <= 524287)

>              {

>                ft32_load_immediate (dst, (int32_t) u);

>                sprintf (pattern, "ror.l  %%0,%%0,%d", rd);

> @@ -496,7 +496,7 @@ ft32_expand_prologue (void)

>  	}

>      }

>  

> -  if (65536 <= cfun->machine->size_for_adjusting_sp)

> +  if (cfun->machine->size_for_adjusting_sp >= 65536)

>      {

>        error ("stack frame must be smaller than 64K");

>        return;

> --- gcc/cfgexpand.c.jj	2017-12-18 14:57:24.000000000 +0100

> +++ gcc/cfgexpand.c	2017-12-19 14:32:54.590799955 +0100

> @@ -6102,7 +6102,7 @@ expand_stack_alignment (void)

>    gcc_assert ((stack_realign_drap != 0) == (drap_rtx != NULL));

>  

>    /* Do nothing if NULL is returned, which means DRAP is not needed.  */

> -  if (NULL != drap_rtx)

> +  if (drap_rtx != NULL)

>      {

>        crtl->args.internal_arg_pointer = drap_rtx;

>  

> --- gcc/gcse.c.jj	2017-03-03 13:23:59.000000000 +0100

> +++ gcc/gcse.c	2017-12-19 13:23:06.054986320 +0100

> @@ -1136,7 +1136,7 @@ insert_expr_in_table (rtx x, machine_mod

>    cur_expr = table->table[hash];

>    found = 0;

>  

> -  while (cur_expr && 0 == (found = expr_equiv_p (cur_expr->expr, x)))

> +  while (cur_expr && (found = expr_equiv_p (cur_expr->expr, x)) == 0)

>      {

>        /* If the expression isn't found, save a pointer to the end of

>  	 the list.  */

> --- gcc/cp/name-lookup.c.jj	2017-12-18 18:35:44.000000000 +0100

> +++ gcc/cp/name-lookup.c	2017-12-19 13:39:06.450758466 +0100

> @@ -5485,7 +5485,7 @@ get_std_name_hint (const char *name)

>    const size_t num_hints = sizeof (hints) / sizeof (hints[0]);

>    for (size_t i = 0; i < num_hints; i++)

>      {

> -      if (0 == strcmp (name, hints[i].name))

> +      if (strcmp (name, hints[i].name) == 0)

>  	return hints[i].header;

>      }

>    return NULL;

> --- gcc/cp/class.c.jj	2017-11-22 21:37:46.000000000 +0100

> +++ gcc/cp/class.c	2017-12-19 13:38:11.136462656 +0100

> @@ -3276,12 +3276,14 @@ check_bitfield_decl (tree field)

>  		   && tree_int_cst_lt (TYPE_SIZE (type), w)))

>  	warning_at (DECL_SOURCE_LOCATION (field), 0,

>  		    "width of %qD exceeds its type", field);

> -      else if (TREE_CODE (type) == ENUMERAL_TYPE

> -	       && (0 > (compare_tree_int

> -			(w, TYPE_PRECISION (ENUM_UNDERLYING_TYPE (type))))))

> -	warning_at (DECL_SOURCE_LOCATION (field), 0,

> -		    "%qD is too small to hold all values of %q#T",

> -		    field, type);

> +      else if (TREE_CODE (type) == ENUMERAL_TYPE)

> +	{

> +	  int prec = TYPE_PRECISION (ENUM_UNDERLYING_TYPE (type));

> +	  if (compare_tree_int (w, prec) < 0)

> +	    warning_at (DECL_SOURCE_LOCATION (field), 0,

> +			"%qD is too small to hold all values of %q#T",

> +			field, type);

> +	}

>      }

>  

>    if (w != error_mark_node)

> --- gcc/cp/pt.c.jj	2017-12-18 18:35:44.000000000 +0100

> +++ gcc/cp/pt.c	2017-12-19 13:39:28.208481475 +0100

> @@ -7838,7 +7838,7 @@ convert_template_argument (tree parm,

>  	  if (innertype

>  	      && TREE_CODE (innertype) == REFERENCE_TYPE

>  	      && TREE_CODE (TREE_TYPE (innertype)) == FUNCTION_TYPE

> -              && 0 < TREE_OPERAND_LENGTH (inner)

> +	      && TREE_OPERAND_LENGTH (inner) > 0

>                && reject_gcc_builtin (TREE_OPERAND (inner, 0)))

>                return error_mark_node;

>          }

> --- gcc/cp/decl.c.jj	2017-12-15 22:39:57.000000000 +0100

> +++ gcc/cp/decl.c	2017-12-19 13:38:42.713060664 +0100

> @@ -1858,8 +1858,8 @@ next_arg:;

>  		   t1 = TREE_CHAIN (t1), t2 = TREE_CHAIN (t2), i++)

>  		if (TREE_PURPOSE (t1) && TREE_PURPOSE (t2))

>  		  {

> -		    if (1 == simple_cst_equal (TREE_PURPOSE (t1),

> -					       TREE_PURPOSE (t2)))

> +		    if (simple_cst_equal (TREE_PURPOSE (t1),

> +					  TREE_PURPOSE (t2)) == 1)

>  		      {

>  			if (permerror (input_location,

>  				       "default argument given for parameter "

> --- gcc/cp/typeck.c.jj	2017-12-14 21:11:44.000000000 +0100

> +++ gcc/cp/typeck.c	2017-12-19 13:39:49.644208582 +0100

> @@ -214,7 +214,7 @@ commonparms (tree p1, tree p2)

>  	}

>        else

>  	{

> -	  if (1 != simple_cst_equal (TREE_PURPOSE (p1), TREE_PURPOSE (p2)))

> +	  if (simple_cst_equal (TREE_PURPOSE (p1), TREE_PURPOSE (p2)) != 1)

>  	    any_change = 1;

>  	  TREE_PURPOSE (n) = TREE_PURPOSE (p2);

>  	}

> --- gcc/print-rtl.c.jj	2017-12-12 09:48:26.000000000 +0100

> +++ gcc/print-rtl.c	2017-12-19 14:35:14.752020933 +0100

> @@ -346,7 +346,7 @@ rtx_writer::print_rtx_operand_codes_E_an

>        m_sawclose = 0;

>      }

>    fputs (" [", m_outfile);

> -  if (NULL != XVEC (in_rtx, idx))

> +  if (XVEC (in_rtx, idx) != NULL)

>      {

>        m_indent += 2;

>        if (XVECLEN (in_rtx, idx))

> --- gcc/cgraphunit.c.jj	2017-11-15 09:38:23.000000000 +0100

> +++ gcc/cgraphunit.c	2017-12-19 13:11:35.287778938 +0100

> @@ -2155,8 +2155,8 @@ cgraph_node::expand (void)

>  

>        if (ret_type && TYPE_SIZE_UNIT (ret_type)

>  	  && TREE_CODE (TYPE_SIZE_UNIT (ret_type)) == INTEGER_CST

> -	  && 0 < compare_tree_int (TYPE_SIZE_UNIT (ret_type),

> -				   larger_than_size))

> +	  && compare_tree_int (TYPE_SIZE_UNIT (ret_type),

> +			       larger_than_size) > 0)

>  	{

>  	  unsigned int size_as_int

>  	    = TREE_INT_CST_LOW (TYPE_SIZE_UNIT (ret_type));

> --- gcc/ira-build.c.jj	2017-11-03 20:03:45.000000000 +0100

> +++ gcc/ira-build.c	2017-12-19 13:26:07.363677658 +0100

> @@ -2756,8 +2756,8 @@ setup_min_max_allocno_live_range_point (

>  #ifdef ENABLE_IRA_CHECKING

>    FOR_EACH_OBJECT (obj, oi)

>      {

> -      if ((0 <= OBJECT_MIN (obj) && OBJECT_MIN (obj) <= ira_max_point)

> -	  && (0 <= OBJECT_MAX (obj) && OBJECT_MAX (obj) <= ira_max_point))

> +      if ((OBJECT_MIN (obj) >= 0 && OBJECT_MIN (obj) <= ira_max_point)

> +	  && (OBJECT_MAX (obj) >= 0 && OBJECT_MAX (obj) <= ira_max_point))

>  	continue;

>        gcc_unreachable ();

>      }

> --- gcc/ada/gcc-interface/trans.c.jj	2017-12-14 21:11:44.000000000 +0100

> +++ gcc/ada/gcc-interface/trans.c	2017-12-19 14:00:46.546238596 +0100

> @@ -3190,7 +3190,7 @@ Loop_Statement_to_gnu (Node_Id gnat_node

>  

>  	  /* Note that loop unswitching can only be applied a small number of

>  	     times to a given loop (PARAM_MAX_UNSWITCH_LEVEL default to 3).  */

> -	  if (0 < n_remaining_checks && n_remaining_checks <= 3

> +	  if (n_remaining_checks > 0 && n_remaining_checks <= 3

>  	      && optimize > 1 && !optimize_size)

>  	    FOR_EACH_VEC_ELT (*gnu_loop_info->checks, i, rci)

>  	      if (rci->invariant_cond != boolean_false_node)

> --- gcc/ada/gcc-interface/misc.c.jj	2017-12-14 21:11:44.000000000 +0100

> +++ gcc/ada/gcc-interface/misc.c	2017-12-19 14:00:30.169446577 +0100

> @@ -953,7 +953,7 @@ gnat_get_array_descr_info (const_tree co

>       structure.  */

>    for (i = (convention_fortran_p ? info->ndimensions - 1 : 0),

>         dimen = first_dimen;

> -       0 <= i && i < info->ndimensions;

> +       i >= 0 && i < info->ndimensions;

>         i += (convention_fortran_p ? -1 : 1),

>         dimen = TREE_TYPE (dimen))

>      {

> @@ -1146,8 +1146,8 @@ default_pass_by_ref (tree gnu_type)

>  

>    if (AGGREGATE_TYPE_P (gnu_type)

>        && (!valid_constant_size_p (TYPE_SIZE_UNIT (gnu_type))

> -	  || 0 < compare_tree_int (TYPE_SIZE_UNIT (gnu_type),

> -				   TYPE_ALIGN (gnu_type))))

> +	  || compare_tree_int (TYPE_SIZE_UNIT (gnu_type),

> +			       TYPE_ALIGN (gnu_type)) > 0))

>      return true;

>  

>    if (pass_by_reference (NULL, TYPE_MODE (gnu_type), gnu_type, true))

> --- gcc/ada/gcc-interface/decl.c.jj	2017-12-14 21:11:44.000000000 +0100

> +++ gcc/ada/gcc-interface/decl.c	2017-12-19 13:59:54.744896460 +0100

> @@ -2111,7 +2111,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entit

>  	   index to the template.  */

>  	for (index = (convention_fortran_p ? ndim - 1 : 0),

>  	     gnat_index = First_Index (gnat_entity);

> -	     0 <= index && index < ndim;

> +	     index >= 0 && index < ndim;

>  	     index += (convention_fortran_p ? - 1 : 1),

>  	     gnat_index = Next_Index (gnat_index))

>  	  {

> @@ -2362,7 +2362,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entit

>  	       gnat_index = First_Index (gnat_entity),

>  	       gnat_base_index

>  		 = First_Index (Implementation_Base_Type (gnat_entity));

> -	       0 <= index && index < ndim;

> +	       index >= 0 && index < ndim;

>  	       index += (convention_fortran_p ? - 1 : 1),

>  	       gnat_index = Next_Index (gnat_index),

>  	       gnat_base_index = Next_Index (gnat_base_index))

> --- gcc/ada/adaint.c.jj	2017-11-08 21:14:34.000000000 +0100

> +++ gcc/ada/adaint.c	2017-12-19 13:33:47.093824108 +0100

> @@ -1221,7 +1221,7 @@ __gnat_tmp_name (char *tmp_filename)

>  

>        /* Fill up the name buffer from the last position.  */

>        seed++;

> -      for (t = seed; 0 <= --index; t >>= 3)

> +      for (t = seed; --index >= 0; t >>= 3)

>          *--pos = '0' + (t & 07);

>  

>        /* Check to see if its unique, if not bump the seed and try again.  */

> --- gcc/emit-rtl.c.jj	2017-12-18 14:57:24.000000000 +0100

> +++ gcc/emit-rtl.c	2017-12-19 14:34:04.891907645 +0100

> @@ -4047,7 +4047,7 @@ add_insn (rtx_insn *insn)

>  {

>    rtx_insn *prev = get_last_insn ();

>    link_insn_into_chain (insn, prev, NULL);

> -  if (NULL == get_insns ())

> +  if (get_insns () == NULL)

>      set_first_insn (insn);

>    set_last_insn (insn);

>  }

> --- gcc/input.c.jj	2017-09-01 09:25:44.000000000 +0200

> +++ gcc/input.c	2017-12-19 13:25:22.114253833 +0100

> @@ -1117,7 +1117,7 @@ dump_location_info (FILE *stream)

>  	  expanded_location exploc

>  	    = linemap_expand_location (line_table, map, loc);

>  

> -	  if (0 == exploc.column)

> +	  if (exploc.column == 0)

>  	    {

>  	      /* Beginning of a new source line: draw the line.  */

>  

> --- gcc/passes.c.jj	2017-10-11 22:37:55.000000000 +0200

> +++ gcc/passes.c	2017-12-19 14:34:51.325318280 +0100

> @@ -1584,7 +1584,7 @@ pass_manager::pass_manager (context *ctx

>  

>  #define NEXT_PASS(PASS, NUM) \

>    do { \

> -    gcc_assert (NULL == PASS ## _ ## NUM); \

> +    gcc_assert (PASS ## _ ## NUM == NULL); \

>      if ((NUM) == 1)                              \

>        PASS ## _1 = make_##PASS (m_ctxt);          \

>      else                                         \

> --- gcc/read-rtl-function.c.jj	2017-06-12 12:41:58.000000000 +0200

> +++ gcc/read-rtl-function.c	2017-12-19 13:28:00.110242019 +0100

> @@ -321,7 +321,7 @@ static int

>  parse_note_insn_name (const char *string)

>  {

>    for (int i = 0; i < NOTE_INSN_MAX; i++)

> -    if (0 == strcmp (string, GET_NOTE_INSN_NAME (i)))

> +    if (strcmp (string, GET_NOTE_INSN_NAME (i)) == 0)

>        return i;

>    fatal_with_file_and_line ("unrecognized NOTE_INSN name: `%s'", string);

>  }

> @@ -1079,7 +1079,7 @@ function_reader::read_rtx_operand_r (rtx

>  	 "orig:%i", ORIGINAL_REGNO (rtx).

>  	 Consume it, we don't set ORIGINAL_REGNO, since we can

>  	 get that from the 2nd copy later.  */

> -      if (0 == strncmp (desc, "orig:", 5))

> +      if (strncmp (desc, "orig:", 5) == 0)

>  	{

>  	  expect_original_regno = true;

>  	  desc_start += 5;

> @@ -1312,7 +1312,7 @@ function_reader::parse_mem_expr (const c

>  {

>    tree fndecl = cfun->decl;

>  

> -  if (0 == strcmp (desc, "<retval>"))

> +  if (strcmp (desc, "<retval>") == 0)

>      return DECL_RESULT (fndecl);

>  

>    tree param = find_param_by_name (fndecl, desc);

> --- gcc/sched-rgn.c.jj	2017-09-22 20:51:51.000000000 +0200

> +++ gcc/sched-rgn.c	2017-12-19 13:30:48.401099117 +0100

> @@ -3258,10 +3258,10 @@ sched_rgn_init (bool single_blocks_p)

>  	free_dominance_info (CDI_DOMINATORS);

>      }

>  

> -  gcc_assert (0 < nr_regions && nr_regions <= n_basic_blocks_for_fn (cfun));

> +  gcc_assert (nr_regions > 0 && nr_regions <= n_basic_blocks_for_fn (cfun));

>  

> -  RGN_BLOCKS (nr_regions) = (RGN_BLOCKS (nr_regions - 1) +

> -			     RGN_NR_BLOCKS (nr_regions - 1));

> +  RGN_BLOCKS (nr_regions) = (RGN_BLOCKS (nr_regions - 1)

> +			     + RGN_NR_BLOCKS (nr_regions - 1));

>    nr_regions_initial = nr_regions;

>  }

>  

> --- gcc/diagnostic-show-locus.c.jj	2017-11-29 08:59:18.000000000 +0100

> +++ gcc/diagnostic-show-locus.c	2017-12-19 13:12:21.864186783 +0100

> @@ -1866,7 +1866,7 @@ layout::show_ruler (int max_column) cons

>      {

>        pp_space (m_pp);

>        for (int column = 1 + m_x_offset; column <= max_column; column++)

> -	if (0 == column % 10)

> +	if (column % 10 == 0)

>  	  pp_character (m_pp, '0' + (column / 100) % 10);

>  	else

>  	  pp_space (m_pp);

> @@ -1876,7 +1876,7 @@ layout::show_ruler (int max_column) cons

>    /* Tens.  */

>    pp_space (m_pp);

>    for (int column = 1 + m_x_offset; column <= max_column; column++)

> -    if (0 == column % 10)

> +    if (column % 10 == 0)

>        pp_character (m_pp, '0' + (column / 10) % 10);

>      else

>        pp_space (m_pp);

> --- gcc/combine.c.jj	2017-12-18 14:57:24.000000000 +0100

> +++ gcc/combine.c	2017-12-19 13:09:36.020295260 +0100

> @@ -5083,9 +5083,9 @@ find_split_point (rtx *loc, rtx_insn *in

>  	     is known to be on, this can be converted into a NEG of a shift.  */

>  	  if (STORE_FLAG_VALUE == -1 && XEXP (SET_SRC (x), 1) == const0_rtx

>  	      && GET_MODE (SET_SRC (x)) == GET_MODE (XEXP (SET_SRC (x), 0))

> -	      && 1 <= (pos = exact_log2

> -		       (nonzero_bits (XEXP (SET_SRC (x), 0),

> -				      GET_MODE (XEXP (SET_SRC (x), 0))))))

> +	      && ((pos = exact_log2 (nonzero_bits (XEXP (SET_SRC (x), 0),

> +						   GET_MODE (XEXP (SET_SRC (x),

> +							     0))))) >= 1))

>  	    {

>  	      machine_mode mode = GET_MODE (XEXP (SET_SRC (x), 0));

>  

> @@ -6680,7 +6680,7 @@ simplify_if_then_else (rtx x)

>        && XEXP (cond, 1) == const0_rtx

>        && false_rtx == const0_rtx

>        && CONST_INT_P (true_rtx)

> -      && ((1 == nonzero_bits (XEXP (cond, 0), int_mode)

> +      && ((nonzero_bits (XEXP (cond, 0), int_mode) == 1

>  	   && (i = exact_log2 (UINTVAL (true_rtx))) >= 0)

>  	  || ((num_sign_bit_copies (XEXP (cond, 0), int_mode)

>  	       == GET_MODE_PRECISION (int_mode))

> @@ -8637,9 +8637,9 @@ force_to_mode (rtx x, machine_mode mode,

>    if (GET_CODE (x) == SUBREG

>        && subreg_lowpart_p (x)

>        && (partial_subreg_p (x)

> -	  || (0 == (mask

> -		    & GET_MODE_MASK (GET_MODE (x))

> -		    & ~GET_MODE_MASK (GET_MODE (SUBREG_REG (x)))))))

> +	  || (mask

> +	      & GET_MODE_MASK (GET_MODE (x))

> +	      & ~GET_MODE_MASK (GET_MODE (SUBREG_REG (x)))) == 0))

>      return force_to_mode (SUBREG_REG (x), mode, mask, next_select);

>  

>    scalar_int_mode int_mode, xmode;

> @@ -9328,8 +9328,8 @@ if_then_else_cond (rtx x, rtx *ptrue, rt

>    /* If X is a SUBREG, we can narrow both the true and false values

>       if the inner expression, if there is a condition.  */

>    else if (code == SUBREG

> -	   && 0 != (cond0 = if_then_else_cond (SUBREG_REG (x),

> -					       &true0, &false0)))

> +	   && (cond0 = if_then_else_cond (SUBREG_REG (x), &true0,

> +					  &false0)) != 0)

>      {

>        true0 = simplify_gen_subreg (mode, true0,

>  				   GET_MODE (SUBREG_REG (x)), SUBREG_BYTE (x));

> @@ -10928,8 +10928,8 @@ simplify_shift_const_1 (enum rtx_code co

>  		 shift_unit_mode wider than result_mode.  */

>  	      && !(code == ASHIFTRT && GET_CODE (varop) == XOR

>  		   && int_result_mode != shift_unit_mode

> -		   && 0 > trunc_int_for_mode (INTVAL (XEXP (varop, 1)),

> -					      shift_unit_mode))

> +		   && trunc_int_for_mode (INTVAL (XEXP (varop, 1)),

> +					  shift_unit_mode) < 0)

>  	      && (new_rtx = simplify_const_binary_operation

>  		  (code, int_result_mode,

>  		   gen_int_mode (INTVAL (XEXP (varop, 1)), int_result_mode),

> @@ -10949,10 +10949,10 @@ simplify_shift_const_1 (enum rtx_code co

>  	     (ashiftrt (xor)) where we've widened the shift and the constant

>  	     changes the sign bit.  */

>  	  if (CONST_INT_P (XEXP (varop, 1))

> -	     && !(code == ASHIFTRT && GET_CODE (varop) == XOR

> -		  && int_result_mode != shift_unit_mode

> -		  && 0 > trunc_int_for_mode (INTVAL (XEXP (varop, 1)),

> -					     shift_unit_mode)))

> +	      && !(code == ASHIFTRT && GET_CODE (varop) == XOR

> +		   && int_result_mode != shift_unit_mode

> +		   && trunc_int_for_mode (INTVAL (XEXP (varop, 1)),

> +					  shift_unit_mode) < 0))

>  	    {

>  	      rtx lhs = simplify_shift_const (NULL_RTX, code, shift_unit_mode,

>  					      XEXP (varop, 0), count);

> @@ -11061,10 +11061,10 @@ simplify_shift_const_1 (enum rtx_code co

>  	  else if ((code == ASHIFTRT || code == LSHIFTRT)

>  		   && count < HOST_BITS_PER_WIDE_INT

>  		   && HWI_COMPUTABLE_MODE_P (int_result_mode)

> -		   && 0 == (nonzero_bits (XEXP (varop, 0), int_result_mode)

> -			    >> count)

> -		   && 0 == (nonzero_bits (XEXP (varop, 0), int_result_mode)

> -			    & nonzero_bits (XEXP (varop, 1), int_result_mode)))

> +		   && (nonzero_bits (XEXP (varop, 0), int_result_mode)

> +		       >> count) == 0

> +		   && (nonzero_bits (XEXP (varop, 0), int_result_mode)

> +		       & nonzero_bits (XEXP (varop, 1), int_result_mode)) == 0)

>  	    {

>  	      varop = XEXP (varop, 1);

>  	      continue;

> @@ -12000,10 +12000,10 @@ simplify_comparison (enum rtx_code code,

>  	      && HWI_COMPUTABLE_MODE_P (GET_MODE (SUBREG_REG (inner_op0)))

>  	      && (GET_MODE (SUBREG_REG (inner_op0))

>  		  == GET_MODE (SUBREG_REG (inner_op1)))

> -	      && (0 == ((~c0) & nonzero_bits (SUBREG_REG (inner_op0),

> -					     GET_MODE (SUBREG_REG (inner_op0)))))

> -	      && (0 == ((~c1) & nonzero_bits (SUBREG_REG (inner_op1),

> -					     GET_MODE (SUBREG_REG (inner_op1))))))

> +	      && ((~c0) & nonzero_bits (SUBREG_REG (inner_op0),

> +					GET_MODE (SUBREG_REG (inner_op0)))) == 0

> +	      && ((~c1) & nonzero_bits (SUBREG_REG (inner_op1),

> +					GET_MODE (SUBREG_REG (inner_op1)))) == 0)

>  	    {

>  	      op0 = SUBREG_REG (inner_op0);

>  	      op1 = SUBREG_REG (inner_op1);

> @@ -12339,8 +12339,8 @@ simplify_comparison (enum rtx_code code,

>  		   && (equality_comparison_p || unsigned_comparison_p)

>  		   /* (A - C1) zero-extends if it is positive and sign-extends

>  		      if it is negative, C2 both zero- and sign-extends.  */

> -		   && ((0 == (nonzero_bits (a, inner_mode)

> -			      & ~GET_MODE_MASK (mode))

> +		   && (((nonzero_bits (a, inner_mode)

> +			 & ~GET_MODE_MASK (mode)) == 0

>  			&& const_op >= 0)

>  		       /* (A - C1) sign-extends if it is positive and 1-extends

>  			  if it is negative, C2 both sign- and 1-extends.  */

> @@ -12408,8 +12408,8 @@ simplify_comparison (enum rtx_code code,

>  	     this for equality comparisons due to pathological cases involving

>  	     overflows.  */

>  	  if (equality_comparison_p

> -	      && 0 != (tem = simplify_binary_operation (MINUS, mode,

> -							op1, XEXP (op0, 1))))

> +	      && (tem = simplify_binary_operation (MINUS, mode,

> +						   op1, XEXP (op0, 1))) != 0)

>  	    {

>  	      op0 = XEXP (op0, 0);

>  	      op1 = tem;

> @@ -12437,8 +12437,8 @@ simplify_comparison (enum rtx_code code,

>  	     this for equality comparisons due to pathological cases involving

>  	     overflows.  */

>  	  if (equality_comparison_p

> -	      && 0 != (tem = simplify_binary_operation (PLUS, mode,

> -							XEXP (op0, 1), op1)))

> +	      && (tem = simplify_binary_operation (PLUS, mode,

> +						   XEXP (op0, 1), op1)) != 0)

>  	    {

>  	      op0 = XEXP (op0, 0);

>  	      op1 = tem;

> @@ -12446,8 +12446,8 @@ simplify_comparison (enum rtx_code code,

>  	    }

>  

>  	  if (equality_comparison_p

> -	      && 0 != (tem = simplify_binary_operation (MINUS, mode,

> -							XEXP (op0, 0), op1)))

> +	      && (tem = simplify_binary_operation (MINUS, mode,

> +						   XEXP (op0, 0), op1)) != 0)

>  	    {

>  	      op0 = XEXP (op0, 1);

>  	      op1 = tem;

> @@ -12471,8 +12471,8 @@ simplify_comparison (enum rtx_code code,

>  	  /* (eq (xor A B) C) -> (eq A (xor B C)).  This is a simplification

>  	     if C is zero or B is a constant.  */

>  	  if (equality_comparison_p

> -	      && 0 != (tem = simplify_binary_operation (XOR, mode,

> -							XEXP (op0, 1), op1)))

> +	      && (tem = simplify_binary_operation (XOR, mode,

> +						   XEXP (op0, 1), op1)) != 0)

>  	    {

>  	      op0 = XEXP (op0, 0);

>  	      op1 = tem;

> --- gcc/explow.c.jj	2017-12-14 09:10:45.000000000 +0100

> +++ gcc/explow.c	2017-12-19 14:41:00.300634373 +0100

> @@ -210,8 +210,8 @@ eliminate_constant_term (rtx x, rtx *con

>  

>    /* First handle constants appearing at this level explicitly.  */

>    if (CONST_INT_P (XEXP (x, 1))

> -      && 0 != (tem = simplify_binary_operation (PLUS, GET_MODE (x), *constptr,

> -						XEXP (x, 1)))

> +      && (tem = simplify_binary_operation (PLUS, GET_MODE (x), *constptr,

> +					   XEXP (x, 1))) != 0

>        && CONST_INT_P (tem))

>      {

>        *constptr = tem;

> @@ -222,8 +222,8 @@ eliminate_constant_term (rtx x, rtx *con

>    x0 = eliminate_constant_term (XEXP (x, 0), &tem);

>    x1 = eliminate_constant_term (XEXP (x, 1), &tem);

>    if ((x1 != XEXP (x, 1) || x0 != XEXP (x, 0))

> -      && 0 != (tem = simplify_binary_operation (PLUS, GET_MODE (x),

> -						*constptr, tem))

> +      && (tem = simplify_binary_operation (PLUS, GET_MODE (x),

> +					   *constptr, tem)) != 0

>        && CONST_INT_P (tem))

>      {

>        *constptr = tem;

> --- gcc/c/c-typeck.c.jj	2017-12-14 21:11:43.000000000 +0100

> +++ gcc/c/c-typeck.c	2017-12-19 13:35:59.210142173 +0100

> @@ -1177,9 +1177,9 @@ comptypes_internal (const_tree type1, co

>  

>  	/* Target types must match incl. qualifiers.  */

>  	if (TREE_TYPE (t1) != TREE_TYPE (t2)

> -	    && 0 == (val = comptypes_internal (TREE_TYPE (t1), TREE_TYPE (t2),

> -					       enum_and_int_p,

> -					       different_types_p)))

> +	    && (val = comptypes_internal (TREE_TYPE (t1), TREE_TYPE (t2),

> +					  enum_and_int_p,

> +					  different_types_p)) == 0)

>  	  return 0;

>  

>  	if (different_types_p != NULL

> @@ -1662,8 +1662,8 @@ function_types_compatible_p (const_tree

>  	 compare that with the other type's arglist.

>  	 If they don't match, ask for a warning (but no error).  */

>        if (TYPE_ACTUAL_ARG_TYPES (f1)

> -	  && 1 != type_lists_compatible_p (args2, TYPE_ACTUAL_ARG_TYPES (f1),

> -					   enum_and_int_p, different_types_p))

> +	  && type_lists_compatible_p (args2, TYPE_ACTUAL_ARG_TYPES (f1),

> +				      enum_and_int_p, different_types_p) != 1)

>  	val = 2;

>        return val;

>      }

> @@ -1672,8 +1672,8 @@ function_types_compatible_p (const_tree

>        if (!self_promoting_args_p (args1))

>  	return 0;

>        if (TYPE_ACTUAL_ARG_TYPES (f2)

> -	  && 1 != type_lists_compatible_p (args1, TYPE_ACTUAL_ARG_TYPES (f2),

> -					   enum_and_int_p, different_types_p))

> +	  && type_lists_compatible_p (args1, TYPE_ACTUAL_ARG_TYPES (f2),

> +				      enum_and_int_p, different_types_p) != 1)

>  	val = 2;

>        return val;

>      }

> @@ -2121,8 +2121,8 @@ perform_integral_promotions (tree exp)

>        && DECL_C_BIT_FIELD (TREE_OPERAND (exp, 1))

>        /* If it's thinner than an int, promote it like a

>  	 c_promoting_integer_type_p, otherwise leave it alone.  */

> -      && 0 > compare_tree_int (DECL_SIZE (TREE_OPERAND (exp, 1)),

> -			       TYPE_PRECISION (integer_type_node)))

> +      && compare_tree_int (DECL_SIZE (TREE_OPERAND (exp, 1)),

> +			   TYPE_PRECISION (integer_type_node)) < 0)

>      return convert (integer_type_node, exp);

>  

>    if (c_promoting_integer_type_p (type))

> @@ -7426,15 +7426,14 @@ digest_init (location_t init_loc, tree t

>  	      /* Subtract the size of a single (possibly wide) character

>  		 because it's ok to ignore the terminating null char

>  		 that is counted in the length of the constant.  */

> -	      if (0 > compare_tree_int (TYPE_SIZE_UNIT (type),

> -					(len

> -					 - (TYPE_PRECISION (typ1)

> -					    / BITS_PER_UNIT))))

> +	      if (compare_tree_int (TYPE_SIZE_UNIT (type),

> +				    (len - (TYPE_PRECISION (typ1)

> +					    / BITS_PER_UNIT))) < 0)

>  		pedwarn_init (init_loc, 0,

>  			      ("initializer-string for array of chars "

>  			       "is too long"));

>  	      else if (warn_cxx_compat

> -		       && 0 > compare_tree_int (TYPE_SIZE_UNIT (type), len))

> +		       && compare_tree_int (TYPE_SIZE_UNIT (type), len) < 0)

>  		warning_at (init_loc, OPT_Wc___compat,

>  			    ("initializer-string for array chars "

>  			     "is too long for C++"));

> --- gcc/c/c-decl.c.jj	2017-12-12 12:34:41.000000000 +0100

> +++ gcc/c/c-decl.c	2017-12-19 13:34:25.951329424 +0100

> @@ -5473,7 +5473,7 @@ check_bitfield_type_and_width (location_

>  

>    max_width = TYPE_PRECISION (*type);

>  

> -  if (0 < compare_tree_int (*width, max_width))

> +  if (compare_tree_int (*width, max_width) > 0)

>      {

>        error_at (loc, "width of %qs exceeds its type", name);

>        w = max_width;

> --- gcc/final.c.jj	2017-12-13 19:47:10.000000000 +0100

> +++ gcc/final.c	2017-12-19 14:34:26.496633423 +0100

> @@ -4513,11 +4513,9 @@ leaf_renumber_regs_insn (rtx in_rtx)

>  	break;

>  

>        case 'E':

> -	if (NULL != XVEC (in_rtx, i))

> -	  {

> -	    for (j = 0; j < XVECLEN (in_rtx, i); j++)

> -	      leaf_renumber_regs_insn (XVECEXP (in_rtx, i, j));

> -	  }

> +	if (XVEC (in_rtx, i) != NULL)

> +	  for (j = 0; j < XVECLEN (in_rtx, i); j++)

> +	    leaf_renumber_regs_insn (XVECEXP (in_rtx, i, j));

>  	break;

>  

>        case 'S':

> --- gcc/cfgrtl.c.jj	2017-12-12 09:48:28.000000000 +0100

> +++ gcc/cfgrtl.c	2017-12-19 14:33:15.820530493 +0100

> @@ -2194,7 +2194,7 @@ print_rtl_with_bb (FILE *outf, const rtx

>  	    }

>  	}

>  

> -      for (tmp_rtx = rtx_first; NULL != tmp_rtx; tmp_rtx = NEXT_INSN (tmp_rtx))

> +      for (tmp_rtx = rtx_first; tmp_rtx != NULL; tmp_rtx = NEXT_INSN (tmp_rtx))

>  	{

>  	  if (flags & TDF_BLOCKS)

>  	    {

> --- gcc/genhooks.c.jj	2017-01-01 12:45:36.000000000 +0100

> +++ gcc/genhooks.c	2017-12-19 13:24:28.477936802 +0100

> @@ -323,7 +323,7 @@ emit_init_macros (const char *docname)

>  		}

>  	      continue;

>  	    }

> -	  if (0 == print_nest)

> +	  if (print_nest == 0)

>  	    {

>  	      /* Output default definitions of target hooks.  */

>  	      printf ("#ifndef %s\n#define %s %s\n#endif\n",

> --- gcc/jit/jit-playback.c.jj	2017-11-28 09:40:56.000000000 +0100

> +++ gcc/jit/jit-playback.c	2017-12-19 14:36:53.385769005 +0100

> @@ -211,10 +211,9 @@ playback::context::

>  get_type (enum gcc_jit_types type_)

>  {

>    tree type_node = get_tree_node_for_type (type_);

> -  if (NULL == type_node)

> +  if (type_node == NULL)

>      {

> -      add_error (NULL,

> -		 "unrecognized (enum gcc_jit_types) value: %i", type_);

> +      add_error (NULL, "unrecognized (enum gcc_jit_types) value: %i", type_);

>        return NULL;

>      }

>  

> @@ -2049,7 +2048,7 @@ playback::compile_to_file::copy_file (co

>    /* Use stat on the filedescriptor to get the mode,

>       so that we can copy it over (in particular, the

>       "executable" bits).  */

> -  if (-1 == fstat (fileno (f_in), &stat_buf))

> +  if (fstat (fileno (f_in), &stat_buf) == -1)

>      {

>        add_error (NULL,

>  		 "unable to fstat %s: %s",

> @@ -2113,7 +2112,7 @@ playback::compile_to_file::copy_file (co

>  

>    /* Set the permissions of the copy to those of the original file,

>       in particular the "executable" bits.  */

> -  if (-1 == fchmod (fileno (f_out), stat_buf.st_mode))

> +  if (fchmod (fileno (f_out), stat_buf.st_mode) == -1)

>      add_error (NULL,

>  	       "error setting mode of %s: %s",

>  	       dst_path,

> @@ -2139,7 +2138,7 @@ playback::context::acquire_mutex ()

>    /* Acquire the big GCC mutex. */

>    JIT_LOG_SCOPE (get_logger ());

>    pthread_mutex_lock (&jit_mutex);

> -  gcc_assert (NULL == active_playback_ctxt);

> +  gcc_assert (active_playback_ctxt == NULL);

>    active_playback_ctxt = this;

>  }

>  

> --- gcc/jit/libgccjit.c.jj	2017-11-23 21:13:27.000000000 +0100

> +++ gcc/jit/libgccjit.c	2017-12-19 14:38:05.526853341 +0100

> @@ -592,7 +592,7 @@ gcc_jit_context_new_struct_type (gcc_jit

>      {

>        RETURN_NULL_IF_FAIL (fields[i], ctxt, loc, "NULL field ptr");

>        RETURN_NULL_IF_FAIL_PRINTF2 (

> -	NULL == fields[i]->get_container (),

> +	fields[i]->get_container () == NULL,

>  	ctxt, loc,

>  	"%s is already a field of %s",

>  	fields[i]->get_debug_string (),

> @@ -657,7 +657,7 @@ gcc_jit_struct_set_fields (gcc_jit_struc

>    JIT_LOG_FUNC (ctxt->get_logger ());

>    /* LOC can be NULL.  */

>    RETURN_IF_FAIL_PRINTF1 (

> -    NULL == struct_type->get_fields (), ctxt, loc,

> +    struct_type->get_fields () == NULL, ctxt, loc,

>      "%s already has had fields set",

>      struct_type->get_debug_string ());

>    if (num_fields)

> @@ -671,7 +671,7 @@ gcc_jit_struct_set_fields (gcc_jit_struc

>  	struct_type->get_debug_string (),

>  	i);

>        RETURN_IF_FAIL_PRINTF2 (

> -	NULL == fields[i]->get_container (),

> +	fields[i]->get_container () == NULL,

>  	ctxt, loc,

>  	"%s is already a field of %s",

>  	fields[i]->get_debug_string (),

> @@ -706,7 +706,7 @@ gcc_jit_context_new_union_type (gcc_jit_

>      {

>        RETURN_NULL_IF_FAIL (fields[i], ctxt, loc, "NULL field ptr");

>        RETURN_NULL_IF_FAIL_PRINTF2 (

> -	NULL == fields[i]->get_container (),

> +	fields[i]->get_container () == NULL,

>  	ctxt, loc,

>  	"%s is already a field of %s",

>  	fields[i]->get_debug_string (),

> @@ -880,7 +880,7 @@ gcc_jit_context_new_function (gcc_jit_co

>  	ctxt, loc,

>  	"NULL parameter %i creating function %s", i, name);

>        RETURN_NULL_IF_FAIL_PRINTF5 (

> -	(NULL == params[i]->get_scope ()),

> +	params[i]->get_scope () == NULL,

>  	ctxt, loc,

>  	"parameter %i \"%s\""

>  	" (type: %s)"

> @@ -2925,7 +2925,7 @@ gcc_jit_timer_pop (gcc_jit_timer *timer,

>  	 item_name);

>  

>        RETURN_IF_FAIL_PRINTF2

> -	(0 == strcmp (item_name, top_item_name), NULL, NULL,

> +	(strcmp (item_name, top_item_name) == 0, NULL, NULL,

>  	 "mismatching item_name:"

>  	 " top of timing stack: \"%s\","

>  	 " attempting to pop: \"%s\"",

> --- gcc/jit/jit-builtins.c.jj	2017-09-14 22:15:10.000000000 +0200

> +++ gcc/jit/jit-builtins.c	2017-12-19 13:55:55.795930652 +0100

> @@ -76,24 +76,20 @@ matches_builtin (const char *in_name,

>    if (debug)

>      fprintf (stderr, "seen builtin: %s\n", bd.name);

>  

> -  if (0 == strcmp (bd.name, in_name))

> -    {

> -      return true;

> -    }

> +  if (strcmp (bd.name, in_name) == 0)

> +    return true;

>  

>    if (bd.both_p)

>      {

>        /* Then the macros in builtins.def gave a "__builtin_"

>  	 prefix to bd.name, but we should also recognize the form

>  	 without the prefix.  */

> -      gcc_assert (0 == strncmp (bd.name, prefix, prefix_len));

> +      gcc_assert (strncmp (bd.name, prefix, prefix_len) == 0);

>        if (debug)

>  	fprintf (stderr, "testing without prefix as: %s\n",

>  		 bd.name + prefix_len);

> -      if (0 == strcmp (bd.name + prefix_len, in_name))

> -	{

> -	  return true;

> -	}

> +      if (strcmp (bd.name + prefix_len, in_name) == 0)

> +	return true;

>      }

>  

>    return false;

> --- gcc/jit/jit-recording.c.jj	2017-11-30 23:46:35.000000000 +0100

> +++ gcc/jit/jit-recording.c	2017-12-19 14:37:22.591398307 +0100

> @@ -2987,7 +2987,7 @@ recording::compound_type::set_fields (lo

>  				      field **field_array)

>  {

>    m_loc = loc;

> -  gcc_assert (NULL == m_fields);

> +  gcc_assert (m_fields == NULL);

>  

>    m_fields = new fields (this, num_fields, field_array);

>    m_ctxt->record (m_fields);

> @@ -3182,7 +3182,7 @@ void

>  recording::fields::write_reproducer (reproducer &r)

>  {

>    if (m_struct_or_union)

> -    if (NULL == m_struct_or_union->dyn_cast_struct ())

> +    if (m_struct_or_union->dyn_cast_struct () == NULL)

>        /* We have a union; the fields have already been written by

>  	 union::write_reproducer.  */

>        return;

> @@ -3370,7 +3370,7 @@ void

>  recording::rvalue::set_scope (function *scope)

>  {

>    gcc_assert (scope);

> -  gcc_assert (NULL == m_scope);

> +  gcc_assert (m_scope == NULL);

>    m_scope = scope;

>  }

>  

> @@ -3750,7 +3750,7 @@ recording::function::validate ()

>    /* Complain about empty functions with non-void return type.  */

>    if (m_kind != GCC_JIT_FUNCTION_IMPORTED

>        && m_return_type != m_ctxt->get_type (GCC_JIT_TYPE_VOID))

> -    if (0 == m_blocks.length ())

> +    if (m_blocks.length () == 0)

>        m_ctxt->add_error (m_loc,

>  			 "function %s returns non-void (type: %s)"

>  			 " but has no blocks",

> @@ -3771,7 +3771,7 @@ recording::function::validate ()

>    /* Check that all blocks are reachable.  */

>    if (!m_ctxt->get_inner_bool_option

>          (INNER_BOOL_OPTION_ALLOW_UNREACHABLE_BLOCKS)

> -      && m_blocks.length () > 0 && 0 == num_invalid_blocks)

> +      && m_blocks.length () > 0 && num_invalid_blocks == 0)

>      {

>        /* Iteratively walk the graph of blocks, marking their "m_is_reachable"

>  	 flag, starting at the initial block.  */

> --- gcc/jit/jit-logging.c.jj	2017-01-01 12:45:46.000000000 +0100

> +++ gcc/jit/jit-logging.c	2017-12-19 13:56:14.113698094 +0100

> @@ -79,7 +79,7 @@ logger::decref (const char *reason)

>    if (m_log_refcount_changes)

>      log ("%s: reason: %s refcount now %i",

>  	 __PRETTY_FUNCTION__, reason, m_refcount);

> -  if (0 == m_refcount)

> +  if (m_refcount == 0)

>      delete this;

>  }

>  

> --- gcc/poly-int.h.jj	2017-12-14 09:10:45.000000000 +0100

> +++ gcc/poly-int.h	2017-12-19 13:27:10.811869751 +0100

> @@ -1288,7 +1288,7 @@ maybe_ne (const Ca &a, const poly_int_po

>  {

>    if (N >= 2)

>      for (unsigned int i = 1; i < N; i++)

> -      if (0 != b.coeffs[i])

> +      if (b.coeffs[i] != 0)

>  	return true;

>    return a != b.coeffs[0];

>  }

> @@ -1337,7 +1337,7 @@ maybe_le (const Ca &a, const poly_int_po

>  {

>    if (N >= 2)

>      for (unsigned int i = 1; i < N; i++)

> -      if (0 < b.coeffs[i])

> +      if (b.coeffs[i] > 0)

>  	return true;

>    return a <= b.coeffs[0];

>  }

> @@ -1379,7 +1379,7 @@ maybe_lt (const Ca &a, const poly_int_po

>  {

>    if (N >= 2)

>      for (unsigned int i = 1; i < N; i++)

> -      if (0 < b.coeffs[i])

> +      if (b.coeffs[i] > 0)

>  	return true;

>    return a < b.coeffs[0];

>  }

> --- gcc/c-family/known-headers.cc.jj	2017-11-21 08:43:49.000000000 +0100

> +++ gcc/c-family/known-headers.cc	2017-12-19 13:57:46.749521970 +0100

> @@ -117,7 +117,7 @@ get_stdlib_header_for_name (const char *

>    };

>    const size_t num_hints = sizeof (hints) / sizeof (hints[0]);

>    for (size_t i = 0; i < num_hints; i++)

> -    if (0 == strcmp (name, hints[i].name))

> +    if (strcmp (name, hints[i].name) == 0)

>        return hints[i].header[lib];

>    return NULL;

>  }

> --- gcc/tree-data-ref.c.jj	2017-10-13 09:09:31.000000000 +0200

> +++ gcc/tree-data-ref.c	2017-12-19 13:32:43.137638316 +0100

> @@ -2665,7 +2665,7 @@ conflict_fn (unsigned n, ...)

>    conflict_function *ret = XCNEW (conflict_function);

>    va_list ap;

>  

> -  gcc_assert (0 < n && n <= MAX_DIM);

> +  gcc_assert (n > 0 && n <= MAX_DIM);

>    va_start (ap, n);

>  

>    ret->n = n;

> --- gcc/selftest.c.jj	2017-12-12 09:48:26.000000000 +0100

> +++ gcc/selftest.c	2017-12-19 13:31:08.765839806 +0100

> @@ -79,7 +79,7 @@ assert_streq (const location &loc,

>    if (val_actual == NULL)

>      fail_formatted (loc, "ASSERT_STREQ (%s, %s) expected=\"%s\" actual=NULL",

>  		    desc_expected, desc_actual, val_expected);

> -  if (0 == strcmp (val_expected, val_actual))

> +  if (strcmp (val_expected, val_actual) == 0)

>      pass (loc, "ASSERT_STREQ");

>    else

>      fail_formatted (loc, "ASSERT_STREQ (%s, %s) expected=\"%s\" actual=\"%s\"",

> --- gcc/expr.c.jj	2017-12-18 14:57:20.000000000 +0100

> +++ gcc/expr.c	2017-12-19 13:17:22.300363459 +0100

> @@ -6123,8 +6123,8 @@ store_constructor_field (rtx target, uns

>  	target

>  	  = adjust_address (target,

>  			    GET_MODE (target) == BLKmode

> -			    || 0 != (bitpos

> -				     % GET_MODE_ALIGNMENT (GET_MODE (target)))

> +			    || (bitpos

> +				% GET_MODE_ALIGNMENT (GET_MODE (target))) != 0

>  			    ? BLKmode : VOIDmode, bitpos / BITS_PER_UNIT);

>  

>  

> @@ -10704,8 +10704,8 @@ expand_expr_real_1 (tree exp, rtx target

>  	    || (bitsize >= 0

>  		&& TYPE_SIZE (TREE_TYPE (exp))

>  		&& TREE_CODE (TYPE_SIZE (TREE_TYPE (exp))) == INTEGER_CST

> -		&& 0 != compare_tree_int (TYPE_SIZE (TREE_TYPE (exp)),

> -					  bitsize)))

> +		&& compare_tree_int (TYPE_SIZE (TREE_TYPE (exp)),

> +				     bitsize) != 0))

>  	  {

>  	    machine_mode ext_mode = mode;

>  

> --- gcc/fold-const.c.jj	2017-12-18 14:57:20.000000000 +0100

> +++ gcc/fold-const.c	2017-12-19 13:22:37.233353315 +0100

> @@ -5409,10 +5409,10 @@ fold_range_test (location_t loc, enum tr

>    if ((lhs == 0 || rhs == 0 || operand_equal_p (lhs, rhs, 0))

>        && merge_ranges (&in_p, &low, &high, in0_p, low0, high0,

>  		       in1_p, low1, high1)

> -      && 0 != (tem = (build_range_check (loc, type,

> -					 lhs != 0 ? lhs

> -					 : rhs != 0 ? rhs : integer_zero_node,

> -					 in_p, low, high))))

> +      && (tem = (build_range_check (loc, type,

> +				    lhs != 0 ? lhs

> +				    : rhs != 0 ? rhs : integer_zero_node,

> +				    in_p, low, high))) != 0)

>      {

>        if (strict_overflow_p)

>  	fold_overflow_warning (warnmsg, WARN_STRICT_OVERFLOW_COMPARISON);

> @@ -5442,12 +5442,12 @@ fold_range_test (location_t loc, enum tr

>  	{

>  	  tree common = save_expr (lhs);

>  

> -	  if (0 != (lhs = build_range_check (loc, type, common,

> -					     or_op ? ! in0_p : in0_p,

> -					     low0, high0))

> -	      && (0 != (rhs = build_range_check (loc, type, common,

> -						 or_op ? ! in1_p : in1_p,

> -						 low1, high1))))

> +	  if ((lhs = build_range_check (loc, type, common,

> +					or_op ? ! in0_p : in0_p,

> +					low0, high0)) != 0

> +	      && (rhs = build_range_check (loc, type, common,

> +					   or_op ? ! in1_p : in1_p,

> +					   low1, high1)) != 0)

>  	    {

>  	      if (strict_overflow_p)

>  		fold_overflow_warning (warnmsg,

> @@ -6146,10 +6146,9 @@ extract_muldiv_1 (tree t, tree c, enum t

>        if ((t2 = fold_convert (TREE_TYPE (op0), c)) != 0

>  	  && TREE_CODE (t2) == INTEGER_CST

>  	  && !TREE_OVERFLOW (t2)

> -	  && (0 != (t1 = extract_muldiv (op0, t2, code,

> -					 code == MULT_EXPR

> -					 ? ctype : NULL_TREE,

> -					 strict_overflow_p))))

> +	  && (t1 = extract_muldiv (op0, t2, code,

> +				   code == MULT_EXPR ? ctype : NULL_TREE,

> +				   strict_overflow_p)) != 0)

>  	return t1;

>        break;

>  

> @@ -6217,10 +6216,9 @@ extract_muldiv_1 (tree t, tree c, enum t

>  	     so check for it explicitly here.  */

>  	  && wi::gtu_p (TYPE_PRECISION (TREE_TYPE (size_one_node)),

>  			wi::to_wide (op1))

> -	  && 0 != (t1 = fold_convert (ctype,

> -				      const_binop (LSHIFT_EXPR,

> -						   size_one_node,

> -						   op1)))

> +	  && (t1 = fold_convert (ctype,

> +				 const_binop (LSHIFT_EXPR, size_one_node,

> +					      op1))) != 0

>  	  && !TREE_OVERFLOW (t1))

>  	return extract_muldiv (build2 (tcode == LSHIFT_EXPR

>  				       ? MULT_EXPR : FLOOR_DIV_EXPR,

> @@ -8040,7 +8038,7 @@ fold_truth_andor (location_t loc, enum t

>      }

>  

>    /* See if we can build a range comparison.  */

> -  if (0 != (tem = fold_range_test (loc, code, type, op0, op1)))

> +  if ((tem = fold_range_test (loc, code, type, op0, op1)) != 0)

>      return tem;

>  

>    if ((code == TRUTH_ANDIF_EXPR && TREE_CODE (arg0) == TRUTH_ORIF_EXPR)

> @@ -8063,8 +8061,8 @@ fold_truth_andor (location_t loc, enum t

>       lhs is another similar operation, try to merge its rhs with our

>       rhs.  Then try to merge our lhs and rhs.  */

>    if (TREE_CODE (arg0) == code

> -      && 0 != (tem = fold_truth_andor_1 (loc, code, type,

> -					 TREE_OPERAND (arg0, 1), arg1)))

> +      && (tem = fold_truth_andor_1 (loc, code, type,

> +				    TREE_OPERAND (arg0, 1), arg1)) != 0)

>      return fold_build2_loc (loc, code, type, TREE_OPERAND (arg0, 0), tem);

>  

>    if ((tem = fold_truth_andor_1 (loc, code, type, arg0, arg1)) != 0)

> @@ -9526,8 +9524,8 @@ fold_binary_loc (location_t loc, enum tr

>  		STRIP_NOPS (tree110);

>  		STRIP_NOPS (tree111);

>  		if (TREE_CODE (tree110) == INTEGER_CST

> -		    && 0 == compare_tree_int (tree110,

> -					      element_precision (rtype))

> +		    && compare_tree_int (tree110,

> +					 element_precision (rtype)) == 0

>  		    && operand_equal_p (tree01, tree111, 0))

>  		  {

>  		    tem = build2_loc (loc, (code0 == LSHIFT_EXPR

> @@ -9548,8 +9546,8 @@ fold_binary_loc (location_t loc, enum tr

>  		STRIP_NOPS (tree111);

>  		if (TREE_CODE (tree110) == NEGATE_EXPR

>  		    && TREE_CODE (tree111) == INTEGER_CST

> -		    && 0 == compare_tree_int (tree111,

> -					      element_precision (rtype) - 1)

> +		    && compare_tree_int (tree111,

> +					 element_precision (rtype) - 1) == 0

>  		    && operand_equal_p (tree01, TREE_OPERAND (tree110, 0), 0))

>  		  {

>  		    tem = build2_loc (loc, (code0 == LSHIFT_EXPR

> @@ -9657,12 +9655,12 @@ fold_binary_loc (location_t loc, enum tr

>  	  /* Only do something if we found more than two objects.  Otherwise,

>  	     nothing has changed and we risk infinite recursion.  */

>  	  if (ok

> -	      && (2 < ((var0 != 0) + (var1 != 0)

> -		       + (minus_var0 != 0) + (minus_var1 != 0)

> -		       + (con0 != 0) + (con1 != 0)

> -		       + (minus_con0 != 0) + (minus_con1 != 0)

> -		       + (lit0 != 0) + (lit1 != 0)

> -		       + (minus_lit0 != 0) + (minus_lit1 != 0))))

> +	      && ((var0 != 0) + (var1 != 0)

> +		  + (minus_var0 != 0) + (minus_var1 != 0)

> +		  + (con0 != 0) + (con1 != 0)

> +		  + (minus_con0 != 0) + (minus_con1 != 0)

> +		  + (lit0 != 0) + (lit1 != 0)

> +		  + (minus_lit0 != 0) + (minus_lit1 != 0)) > 2)

>  	    {

>  	      var0 = associate_trees (loc, var0, var1, code, atype);

>  	      minus_var0 = associate_trees (loc, minus_var0, minus_var1,

> @@ -9876,8 +9874,8 @@ fold_binary_loc (location_t loc, enum tr

>  

>  	  strict_overflow_p = false;

>  	  if (TREE_CODE (arg1) == INTEGER_CST

> -	      && 0 != (tem = extract_muldiv (op0, arg1, code, NULL_TREE,

> -					     &strict_overflow_p)))

> +	      && (tem = extract_muldiv (op0, arg1, code, NULL_TREE,

> +					&strict_overflow_p)) != 0)

>  	    {

>  	      if (strict_overflow_p)

>  		fold_overflow_warning (("assuming signed overflow does not "

> @@ -10310,8 +10308,8 @@ fold_binary_loc (location_t loc, enum tr

>  

>        strict_overflow_p = false;

>        if (TREE_CODE (arg1) == INTEGER_CST

> -	  && 0 != (tem = extract_muldiv (op0, arg1, code, NULL_TREE,

> -					 &strict_overflow_p)))

> +	  && (tem = extract_muldiv (op0, arg1, code, NULL_TREE,

> +				    &strict_overflow_p)) != 0)

>  	{

>  	  if (strict_overflow_p)

>  	    fold_overflow_warning (("assuming signed overflow does not occur "

> @@ -10328,8 +10326,8 @@ fold_binary_loc (location_t loc, enum tr

>      case TRUNC_MOD_EXPR:

>        strict_overflow_p = false;

>        if (TREE_CODE (arg1) == INTEGER_CST

> -	  && 0 != (tem = extract_muldiv (op0, arg1, code, NULL_TREE,

> -					 &strict_overflow_p)))

> +	  && (tem = extract_muldiv (op0, arg1, code, NULL_TREE,

> +				    &strict_overflow_p)) != 0)

>  	{

>  	  if (strict_overflow_p)

>  	    fold_overflow_warning (("assuming signed overflow does not occur "

> @@ -10982,7 +10980,7 @@ fold_binary_loc (location_t loc, enum tr

>  	  && TREE_CODE (arg1) == INTEGER_CST

>  	  && TREE_CODE (arg0) == ABS_EXPR

>  	  && ! TREE_SIDE_EFFECTS (arg0)

> -	  && (0 != (tem = negate_expr (arg1)))

> +	  && (tem = negate_expr (arg1)) != 0

>  	  && TREE_CODE (tem) == INTEGER_CST

>  	  && !TREE_OVERFLOW (tem))

>  	return fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type,

> @@ -12491,10 +12489,9 @@ multiple_of_p (tree type, const_tree top

>  	     so check for it explicitly here.  */

>  	  if (wi::gtu_p (TYPE_PRECISION (TREE_TYPE (size_one_node)),

>  			 wi::to_wide (op1))

> -	      && 0 != (t1 = fold_convert (type,

> -					  const_binop (LSHIFT_EXPR,

> -						       size_one_node,

> -						       op1)))

> +	      && (t1 = fold_convert (type,

> +				     const_binop (LSHIFT_EXPR, size_one_node,

> +						  op1))) != 0

>  	      && !TREE_OVERFLOW (t1))

>  	    return multiple_of_p (type, t1, bottom);

>  	}

> --- gcc/reload.c.jj	2017-09-15 17:10:57.000000000 +0200

> +++ gcc/reload.c	2017-12-19 13:29:54.332787587 +0100

> @@ -1532,8 +1532,8 @@ push_reload (rtx in, rtx out, rtx *inloc

>  	 value for the incoming operand (same as outgoing one).  */

>        if (rld[i].reg_rtx == out

>  	  && (REG_P (in) || CONSTANT_P (in))

> -	  && 0 != find_equiv_reg (in, this_insn, NO_REGS, REGNO (out),

> -				  static_reload_reg_p, i, inmode))

> +	  && find_equiv_reg (in, this_insn, NO_REGS, REGNO (out),

> +			     static_reload_reg_p, i, inmode) != 0)

>  	rld[i].in = out;

>      }

>  

> @@ -6750,9 +6750,8 @@ find_equiv_reg (rtx goal, rtx_insn *insn

>  			      && CONST_DOUBLE_AS_FLOAT_P (XEXP (tem, 0))

>  			      && SCALAR_FLOAT_MODE_P (GET_MODE (XEXP (tem, 0)))

>  			      && CONST_INT_P (goal)

> -			      && 0 != (goaltry

> -				       = operand_subword (XEXP (tem, 0), 0, 0,

> -							  VOIDmode))

> +			      && (goaltry = operand_subword (XEXP (tem, 0), 0,

> +							     0, VOIDmode)) != 0

>  			      && rtx_equal_p (goal, goaltry)

>  			      && (valtry

>  				  = operand_subword (SET_DEST (pat), 0, 0,

> @@ -6764,8 +6763,8 @@ find_equiv_reg (rtx goal, rtx_insn *insn

>  		      && CONST_DOUBLE_AS_FLOAT_P (XEXP (tem, 0))

>  		      && SCALAR_FLOAT_MODE_P (GET_MODE (XEXP (tem, 0)))

>  		      && CONST_INT_P (goal)

> -		      && 0 != (goaltry = operand_subword (XEXP (tem, 0), 1, 0,

> -							  VOIDmode))

> +		      && (goaltry = operand_subword (XEXP (tem, 0), 1, 0,

> +						     VOIDmode)) != 0

>  		      && rtx_equal_p (goal, goaltry)

>  		      && (valtry

>  			  = operand_subword (SET_DEST (pat), 1, 0, VOIDmode))

> --- gcc/et-forest.c.jj	2017-01-01 12:45:36.000000000 +0100

> +++ gcc/et-forest.c	2017-12-19 13:15:17.689950164 +0100

> @@ -671,7 +671,7 @@ et_nca (struct et_node *n1, struct et_no

>        return NULL;

>      }

>  

> -  if (0 < o2->depth)

> +  if (o2->depth > 0)

>      {

>        om = o1;

>        mn = o1->depth;

> @@ -743,7 +743,7 @@ et_below (struct et_node *down, struct e

>        return false;

>      }

>  

> -  if (0 >= d->depth)

> +  if (d->depth <= 0)

>      return false;

>  

>    return !d->next || d->next->min + d->depth >= 0;

> --- gcc/dbxout.c.jj	2017-12-12 09:48:21.000000000 +0100

> +++ gcc/dbxout.c	2017-12-19 14:33:45.904148651 +0100

> @@ -3043,7 +3043,7 @@ dbxout_symbol_location (tree decl, tree

>  	  int offs;

>  	  letter = 'G';

>  	  code = N_GSYM;

> -	  if (NULL != dbxout_common_check (decl, &offs))

> +	  if (dbxout_common_check (decl, &offs) != NULL)

>  	    {

>  	      letter = 'V';

>  	      addr = 0;

> @@ -3097,7 +3097,7 @@ dbxout_symbol_location (tree decl, tree

>  	    {

>  	      int offs;

>  	      code = N_LCSYM;

> -	      if (NULL != dbxout_common_check (decl, &offs))

> +	      if (dbxout_common_check (decl, &offs) != NULL)

>  	        {

>  		  addr = 0;

>  		  number = offs;

> @@ -3196,7 +3196,7 @@ dbxout_symbol_location (tree decl, tree

>        int offs;

>        code = N_LCSYM;

>        letter = 'V';

> -      if (NULL == dbxout_common_check (decl, &offs))

> +      if (dbxout_common_check (decl, &offs) == NULL)

>          addr = XEXP (XEXP (home, 0), 0);

>        else

>          {

> --- gcc/reorg.c.jj	2017-11-22 23:34:45.000000000 +0100

> +++ gcc/reorg.c	2017-12-19 13:30:13.328545707 +0100

> @@ -3205,7 +3205,7 @@ relax_delay_slots (rtx_insn *first)

>  	  && (other = prev_active_insn (insn)) != 0

>  	  && any_condjump_p (other)

>  	  && no_labels_between_p (other, insn)

> -	  && 0 > mostly_true_jump (other))

> +	  && mostly_true_jump (other) < 0)

>  	{

>  	  rtx other_target = JUMP_LABEL (other);

>  	  target_label = JUMP_LABEL (insn);

> --- gcc/dojump.c.jj	2017-09-01 09:26:27.000000000 +0200

> +++ gcc/dojump.c	2017-12-19 13:12:52.522797001 +0100

> @@ -1002,8 +1002,8 @@ do_compare_rtx_and_jump (rtx op0, rtx op

>    do_pending_stack_adjust ();

>  

>    code = unsignedp ? unsigned_condition (code) : code;

> -  if (0 != (tem = simplify_relational_operation (code, mode, VOIDmode,

> -						 op0, op1)))

> +  if ((tem = simplify_relational_operation (code, mode, VOIDmode,

> +					    op0, op1)) != 0)

>      {

>        if (CONSTANT_P (tem))

>  	{

> --- gcc/fortran/scanner.c.jj	2017-10-17 09:24:04.000000000 +0200

> +++ gcc/fortran/scanner.c	2017-12-19 13:55:05.404570408 +0100

> @@ -2057,7 +2057,7 @@ preprocessor_line (gfc_char_t *c)

>        c++;

>        i = wide_atoi (c);

>  

> -      if (1 <= i && i <= 4)

> +      if (i >= 1 && i <= 4)

>  	flag[i] = true;

>      }

>  

> --- gcc/fortran/dependency.c.jj	2017-01-01 12:45:47.000000000 +0100

> +++ gcc/fortran/dependency.c	2017-12-19 14:35:52.124546575 +0100

> @@ -1431,17 +1431,17 @@ check_section_vs_section (gfc_array_ref

>    r_stride = r_ar->stride[n];

>  

>    /* If l_start is NULL take it from array specifier.  */

> -  if (NULL == l_start && IS_ARRAY_EXPLICIT (l_ar->as))

> +  if (l_start == NULL && IS_ARRAY_EXPLICIT (l_ar->as))

>      l_start = l_ar->as->lower[n];

>    /* If l_end is NULL take it from array specifier.  */

> -  if (NULL == l_end && IS_ARRAY_EXPLICIT (l_ar->as))

> +  if (l_end == NULL && IS_ARRAY_EXPLICIT (l_ar->as))

>      l_end = l_ar->as->upper[n];

>  

>    /* If r_start is NULL take it from array specifier.  */

> -  if (NULL == r_start && IS_ARRAY_EXPLICIT (r_ar->as))

> +  if (r_start == NULL && IS_ARRAY_EXPLICIT (r_ar->as))

>      r_start = r_ar->as->lower[n];

>    /* If r_end is NULL take it from array specifier.  */

> -  if (NULL == r_end && IS_ARRAY_EXPLICIT (r_ar->as))

> +  if (r_end == NULL && IS_ARRAY_EXPLICIT (r_ar->as))

>      r_end = r_ar->as->upper[n];

>  

>    /* Determine whether the l_stride is positive or negative.  */

> --- gcc/fortran/trans-array.c.jj	2017-12-01 22:13:19.000000000 +0100

> +++ gcc/fortran/trans-array.c	2017-12-19 14:36:24.045141417 +0100

> @@ -7003,7 +7003,7 @@ gfc_conv_expr_descriptor (gfc_se *se, gf

>  

>    /* Special case: TRANSPOSE which needs no temporary.  */

>    while (expr->expr_type == EXPR_FUNCTION && expr->value.function.isym

> -      && NULL != (arg = gfc_get_noncopying_intrinsic_argument (expr)))

> +	 && (arg = gfc_get_noncopying_intrinsic_argument (expr)) != NULL)

>      {

>        /* This is a call to transpose which has already been handled by the

>  	 scalarizer, so that we just need to get its argument's descriptor.  */

> --- gcc/gengtype-parse.c.jj	2017-01-01 12:45:35.000000000 +0100

> +++ gcc/gengtype-parse.c	2017-12-19 13:24:08.554190497 +0100

> @@ -948,9 +948,9 @@ type (options_p *optsp, bool nested)

>  		advance ();

>  		const char *basename = require (ID);

>  		/* This may be either an access specifier, or the base name.  */

> -		if (0 == strcmp (basename, "public")

> -		    || 0 == strcmp (basename, "protected")

> -		    || 0 == strcmp (basename, "private"))

> +		if (strcmp (basename, "public") == 0

> +		    || strcmp (basename, "protected") == 0

> +		    || strcmp (basename, "private") == 0)

>  		  basename = require (ID);

>  		base_class = find_structure (basename, TYPE_STRUCT);

>  		if (!base_class)

> --- gcc/simplify-rtx.c.jj	2017-12-18 14:57:24.000000000 +0100

> +++ gcc/simplify-rtx.c	2017-12-19 13:32:17.385966153 +0100

> @@ -400,8 +400,8 @@ simplify_gen_ternary (enum rtx_code code

>    rtx tem;

>  

>    /* If this simplifies, use it.  */

> -  if (0 != (tem = simplify_ternary_operation (code, mode, op0_mode,

> -					      op0, op1, op2)))

> +  if ((tem = simplify_ternary_operation (code, mode, op0_mode,

> +					 op0, op1, op2)) != 0)

>      return tem;

>  

>    return gen_rtx_fmt_eee (code, mode, op0, op1, op2);

> @@ -416,8 +416,8 @@ simplify_gen_relational (enum rtx_code c

>  {

>    rtx tem;

>  

> -  if (0 != (tem = simplify_relational_operation (code, mode, cmp_mode,

> -						 op0, op1)))

> +  if ((tem = simplify_relational_operation (code, mode, cmp_mode,

> +					    op0, op1)) != 0)

>      return tem;

>  

>    return gen_rtx_fmt_ee (code, mode, op0, op1);

> @@ -5148,7 +5148,7 @@ simplify_const_relational_operation (enu

>        && (code == EQ || code == NE)

>        && ! ((REG_P (op0) || CONST_INT_P (trueop0))

>  	    && (REG_P (op1) || CONST_INT_P (trueop1)))

> -      && 0 != (tem = simplify_binary_operation (MINUS, mode, op0, op1))

> +      && (tem = simplify_binary_operation (MINUS, mode, op0, op1)) != 0

>        /* We cannot do this if tem is a nonzero address.  */

>        && ! nonzero_address_p (tem))

>      return simplify_const_relational_operation (signed_condition (code),

> --- gcc/reload1.c.jj	2017-12-14 16:25:10.000000000 +0100

> +++ gcc/reload1.c	2017-12-19 13:28:34.286806838 +0100

> @@ -8006,8 +8006,8 @@ do_output_reload (struct insn_chain *cha

>    /* Likewise for a SUBREG of an operand that dies.  */

>    else if (GET_CODE (old) == SUBREG

>  	   && REG_P (SUBREG_REG (old))

> -	   && 0 != (note = find_reg_note (insn, REG_UNUSED,

> -					  SUBREG_REG (old))))

> +	   && (note = find_reg_note (insn, REG_UNUSED,

> +				     SUBREG_REG (old))) != 0)

>      {

>        XEXP (note, 0) = gen_lowpart_common (GET_MODE (old), reg_rtx);

>        return;

> --- gcc/dumpfile.c.jj	2017-07-03 19:03:29.000000000 +0200

> +++ gcc/dumpfile.c	2017-12-19 13:14:30.020557154 +0100

> @@ -251,7 +251,7 @@ gcc::dump_manager::

>  get_dump_file_info_by_switch (const char *swtch) const

>  {

>    for (unsigned i = 0; i < m_extra_dump_files_in_use; i++)

> -    if (0 == strcmp (m_extra_dump_files[i].swtch, swtch))

> +    if (strcmp (m_extra_dump_files[i].swtch, swtch) == 0)

>        return &m_extra_dump_files[i];

>  

>    /* Not found.  */

> --- gcc/gengtype.c.jj	2017-11-28 12:11:37.000000000 +0100

> +++ gcc/gengtype.c	2017-12-19 13:23:41.764531619 +0100

> @@ -671,7 +671,7 @@ type_for_name (const char *s)

>           extern GTY(()) gcc::some_type *some_ptr;

>       where the autogenerated functions will refer to simply "some_type",

>       where they can be resolved into their namespace.  */

> -  if (0 == strncmp (s, "gcc::", 5))

> +  if (strncmp (s, "gcc::", 5) == 0)

>      s += 5;

>  

>    for (p = typedefs; p != NULL; p = p->next)

> --- gcc/gimple-ssa-sprintf.c.jj	2017-12-14 12:00:32.000000000 +0100

> +++ gcc/gimple-ssa-sprintf.c	2017-12-19 12:19:10.975042433 +0100

> @@ -2854,7 +2854,7 @@ format_directive (const sprintf_dom_walk

>  

>    if (!warned

>        /* Only warn at level 2.  */

> -      && 1 < warn_level

> +      && warn_level > 1

>        && (!minunder4k

>  	  || (!maxunder4k && fmtres.range.max < HOST_WIDE_INT_MAX)))

>      {

> @@ -2902,7 +2902,7 @@ format_directive (const sprintf_dom_walk

>        /* Warn for the likely output size at level 1.  */

>        && (likelyximax

>  	  /* But only warn for the maximum at level 2.  */

> -	  || (1 < warn_level

> +	  || (warn_level > 1

>  	      && maxximax

>  	      && fmtres.range.max < HOST_WIDE_INT_MAX)))

>      {

> 

> 	Jakub

> 

> 


-- 
Richard Biener <rguenther@suse.de>
SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)
Eric Botcazou Dec. 20, 2017, 8:29 a.m. | #2
> If some port maintainer used 1 <= x && x <= 24 style and doesn't like

> x >= 1 && x <= 24 for some reason, there is always IN_RANGE macro and

> IN_RANGE (x, 1, 24) can be used instead (though, such a change requires

> double checking the type of x, it shouldn't be wider than HOST_WIDE_INT).


Yes, the visium changes are rather counter-productive, especially in 
visium_legitimize_address & visium_legitimize_reload_address where the style 
is clearly inconsistent now.

As far as I'm concerned, reading (a < x && x < b) is twice as fast as reading 
(x > a && x < b).  And IN_RANGE is too ambiguous wrt the bounds.

-- 
Eric Botcazou
Jakub Jelinek Dec. 20, 2017, 8:47 a.m. | #3
On Wed, Dec 20, 2017 at 09:29:22AM +0100, Eric Botcazou wrote:
> > If some port maintainer used 1 <= x && x <= 24 style and doesn't like

> > x >= 1 && x <= 24 for some reason, there is always IN_RANGE macro and

> > IN_RANGE (x, 1, 24) can be used instead (though, such a change requires

> > double checking the type of x, it shouldn't be wider than HOST_WIDE_INT).

> 

> Yes, the visium changes are rather counter-productive, especially in 

> visium_legitimize_address & visium_legitimize_reload_address where the style 

> is clearly inconsistent now.

> 

> As far as I'm concerned, reading (a < x && x < b) is twice as fast as reading 

> (x > a && x < b).  And IN_RANGE is too ambiguous wrt the bounds.


That depends on the reader, and as we have multiple readers, it is better to
be consistent.  And, I find no ambiguity on IN_RANGE, it is
inclusive for both values and used heavily through the compiler, so using it
is a welcome cleanup, e.g. some ports that use it most often:
67 config/i386/
59 config/frv/
53 config/rs6000/
52 config/powerpcspe/
46 config/mips/
44 config/avr/
28 config/m68k/
23 config/rl78/
23 config/arm/
23 config/aarch64/
15 config/rx/
15 config/mn10300/
14 config/m32c/
14 config/h8300/
11 config/cris/
10 config/fr30/

	Jakub
Eric Botcazou Dec. 20, 2017, 9:34 a.m. | #4
> That depends on the reader, and as we have multiple readers, it is better to

> be consistent.  And, I find no ambiguity on IN_RANGE, it is

> inclusive for both values and used heavily through the compiler, so using it

> is a welcome cleanup, e.g. some ports that use it most often:


OK, let's go for IN_RANGE then, but it's Yoda style on steroids!

-- 
Eric Botcazou
Martin Sebor Dec. 20, 2017, 5:47 p.m. | #5
On 12/20/2017 01:29 AM, Eric Botcazou wrote:
>> If some port maintainer used 1 <= x && x <= 24 style and doesn't like

>> x >= 1 && x <= 24 for some reason, there is always IN_RANGE macro and

>> IN_RANGE (x, 1, 24) can be used instead (though, such a change requires

>> double checking the type of x, it shouldn't be wider than HOST_WIDE_INT).

>

> Yes, the visium changes are rather counter-productive, especially in

> visium_legitimize_address & visium_legitimize_reload_address where the style

> is clearly inconsistent now.

>

> As far as I'm concerned, reading (a < x && x < b) is twice as fast as reading

> (x > a && x < b).  And IN_RANGE is too ambiguous wrt the bounds.


FWIW, I agree.  We should all be comfortable reading code either
way.  If it doesn't matter in a < b where a is a macro or enum or
some constant then it shouldn't matter if it's 0 < b with a literal.

But I've lost that battle several times in the past.

Martin

Patch

--- gcc/read-rtl.c.jj	2017-09-01 09:26:37.000000000 +0200
+++ gcc/read-rtl.c	2017-12-19 13:27:32.464594040 +0100
@@ -1229,7 +1229,7 @@  static int
 parse_reg_note_name (const char *string)
 {
   for (int i = 0; i < REG_NOTE_MAX; i++)
-    if (0 == strcmp (string, GET_REG_NOTE_NAME (i)))
+    if (strcmp (string, GET_REG_NOTE_NAME (i)) == 0)
       return i;
   fatal_with_file_and_line ("unrecognized REG_NOTE name: `%s'", string);
 }
--- gcc/sel-sched.c.jj	2017-12-13 19:44:59.000000000 +0100
+++ gcc/sel-sched.c	2017-12-19 13:31:25.891621738 +0100
@@ -672,7 +672,7 @@  extract_new_fences_from (flist_t old_fen
     {
       int seqno = INSN_SEQNO (succ);
 
-      if (0 < seqno && seqno <= orig_max_seqno
+      if (seqno > 0 && seqno <= orig_max_seqno
           && (pipelining_p || INSN_SCHED_TIMES (succ) <= 0))
         {
           bool b = (in_same_ebb_p (insn, succ)
--- gcc/config/visium/constraints.md.jj	2017-01-01 12:45:40.000000000 +0100
+++ gcc/config/visium/constraints.md	2017-12-19 14:30:11.925859534 +0100
@@ -48,17 +48,17 @@  (define_register_constraint "v" "R3"
 (define_constraint "J"
   "Integer constant in the range 0 .. 65535 (16-bit immediate)"
   (and (match_code "const_int")
-       (match_test "0 <= ival && ival <= 65535")))
+       (match_test "ival >= 0 && ival <= 65535")))
 
 (define_constraint "K"
   "Integer constant in the range 1 .. 31 (5-bit immediate)"
   (and (match_code "const_int")
-       (match_test "1 <= ival && ival <= 31")))
+       (match_test "ival >= 1 && ival <= 31")))
 
 (define_constraint "L"
   "Integer constant in the range -65535 .. -1 (16-bit negative immediate)"
   (and (match_code "const_int")
-       (match_test "-65535 <= ival && ival <= -1")))
+       (match_test "ival >= -65535 && ival <= -1")))
 
 (define_constraint "M"
   "Integer constant -1"
--- gcc/config/visium/predicates.md.jj	2017-09-01 09:26:56.000000000 +0200
+++ gcc/config/visium/predicates.md	2017-12-19 14:30:40.714495341 +0100
@@ -25,7 +25,7 @@  (define_predicate "const0_operand"
 ;; Return true if OP is a constant in the range 1 .. 31.
 (define_predicate "const_shift_operand"
   (and (match_code "const_int")
-       (match_test "1 <= INTVAL (op) && INTVAL (op) <= 31")))
+       (match_test "INTVAL (op) >= 1 && INTVAL (op) <= 31")))
 
 ;; Return true if OP is either a register or the constant 0.
 (define_predicate "reg_or_0_operand"
--- gcc/config/visium/visium.c.jj	2017-12-18 14:57:34.000000000 +0100
+++ gcc/config/visium/visium.c	2017-12-19 14:31:13.663078523 +0100
@@ -1922,7 +1922,7 @@  visium_legitimize_address (rtx x, rtx ol
       int offset_base = offset & ~mask;
 
       /* Check that all of the words can be accessed.  */
-      if (4 < size && 0x80 < size + offset - offset_base)
+      if (size > 4 && 0x80 < size + offset - offset_base)
 	offset_base = offset & ~0x3f;
       if (offset_base != 0 && offset_base != offset && (offset & mask1) == 0)
 	{
@@ -1968,7 +1968,7 @@  visium_legitimize_reload_address (rtx x,
       int offset_base = offset & ~mask;
 
       /* Check that all of the words can be accessed.  */
-      if (4 < size && 0x80 < size + offset - offset_base)
+      if (size > 4 && 0x80 < size + offset - offset_base)
 	offset_base = offset & ~0x3f;
 
       if (offset_base && (offset & mask1) == 0)
--- gcc/config/m68k/m68k.c.jj	2017-12-18 14:57:31.000000000 +0100
+++ gcc/config/m68k/m68k.c	2017-12-19 14:24:12.230409888 +0100
@@ -3523,8 +3523,7 @@  output_reg_adjust (rtx reg, int n)
 {
   const char *s;
 
-  gcc_assert (GET_MODE (reg) == SImode
-	      && -12 <= n && n != 0 && n <= 12);
+  gcc_assert (GET_MODE (reg) == SImode && n >= -12 && n != 0 && n <= 12);
 
   switch (n)
     {
@@ -3566,8 +3565,7 @@  emit_reg_adjust (rtx reg1, int n)
 {
   rtx reg2;
 
-  gcc_assert (GET_MODE (reg1) == SImode
-	      && -12 <= n && n != 0 && n <= 12);
+  gcc_assert (GET_MODE (reg1) == SImode && n >= -12 && n != 0 && n <= 12);
 
   reg1 = copy_rtx (reg1);
   reg2 = copy_rtx (reg1);
--- gcc/config/arm/arm.c.jj	2017-12-18 14:57:34.000000000 +0100
+++ gcc/config/arm/arm.c	2017-12-19 14:02:20.070050866 +0100
@@ -13987,7 +13987,7 @@  arm_block_move_unaligned_straight (rtx d
   HOST_WIDE_INT src_autoinc, dst_autoinc;
   rtx mem, addr;
   
-  gcc_assert (1 <= interleave_factor && interleave_factor <= 4);
+  gcc_assert (interleave_factor >= 1 && interleave_factor <= 4);
   
   /* Use hard registers if we have aligned source or destination so we can use
      load/store multiple with contiguous registers.  */
--- gcc/config/avr/constraints.md.jj	2017-01-01 12:45:41.000000000 +0100
+++ gcc/config/avr/constraints.md	2017-12-19 14:08:26.664395701 +0100
@@ -224,25 +224,25 @@  (define_constraint "Y00"
 (define_constraint "Y01"
   "Fixed-point or integer constant with bit representation 0x1"
   (ior (and (match_code "const_fixed")
-            (match_test "1 == INTVAL (avr_to_int_mode (op))"))
+	    (match_test "INTVAL (avr_to_int_mode (op)) == 1"))
        (match_test "satisfies_constraint_P (op)")))
 
 (define_constraint "Ym1"
   "Fixed-point or integer constant with bit representation -0x1"
   (ior (and (match_code "const_fixed")
-            (match_test "-1 == INTVAL (avr_to_int_mode (op))"))
+	    (match_test "INTVAL (avr_to_int_mode (op)) == -1"))
        (match_test "satisfies_constraint_N (op)")))
 
 (define_constraint "Y02"
   "Fixed-point or integer constant with bit representation 0x2"
   (ior (and (match_code "const_fixed")
-            (match_test "2 == INTVAL (avr_to_int_mode (op))"))
+	    (match_test "INTVAL (avr_to_int_mode (op)) == 2"))
        (match_test "satisfies_constraint_K (op)")))
 
 (define_constraint "Ym2"
   "Fixed-point or integer constant with bit representation -0x2"
   (ior (and (match_code "const_fixed")
-            (match_test "-2 == INTVAL (avr_to_int_mode (op))"))
+	    (match_test "INTVAL (avr_to_int_mode (op)) == -2"))
        (match_test "satisfies_constraint_Cm2 (op)")))
 
 (define_constraint "Yx2"
--- gcc/config/avr/avr-log.c.jj	2017-12-18 14:57:29.000000000 +0100
+++ gcc/config/avr/avr-log.c	2017-12-19 14:39:17.372941421 +0100
@@ -86,7 +86,7 @@  avr_vdump (FILE *stream, const char *cal
 {
   va_list ap;
         
-  if (NULL == stream && dump_file)
+  if (stream == NULL && dump_file)
     stream = dump_file;
 
   va_start (ap, caller);
@@ -294,15 +294,15 @@  avr_log_set_avr_log (void)
       str[0] = ',';
       strcat (stpcpy (str+1, avr_log_details), ",");
 
-      all |= NULL != strstr (str, ",all,");
-      info = NULL != strstr (str, ",?,");
+      all |= strstr (str, ",all,") != NULL;
+      info = strstr (str, ",?,") != NULL;
 
       if (info)
         fprintf (stderr, "\n-mlog=");
 
 #define SET_DUMP_DETAIL(S)                                       \
       do {                                                       \
-        avr_log.S = (all || NULL != strstr (str, "," #S ","));   \
+	avr_log.S = (all || strstr (str, "," #S ",") != NULL);   \
         if (info)                                                \
           fprintf (stderr, #S ",");                              \
       } while (0)
--- gcc/config/avr/predicates.md.jj	2017-01-01 12:45:41.000000000 +0100
+++ gcc/config/avr/predicates.md	2017-12-19 14:10:40.638694770 +0100
@@ -221,7 +221,7 @@  (define_predicate "combine_pseudo_regist
 ;; 8 or 16 or 24.
 (define_predicate "const_8_16_24_operand"
   (and (match_code "const_int")
-       (match_test "8 == INTVAL(op) || 16 == INTVAL(op) || 24 == INTVAL(op)")))
+       (match_test "INTVAL(op) == 8 || INTVAL(op) == 16 || INTVAL(op) == 24")))
 
 ;; Unsigned CONST_INT that fits in 8 bits, i.e. 0..255.
 (define_predicate "u8_operand"
--- gcc/config/avr/avr.c.jj	2017-12-18 14:57:29.000000000 +0100
+++ gcc/config/avr/avr.c	2017-12-19 14:38:38.542434284 +0100
@@ -65,7 +65,7 @@ 
 #define MAX_LD_OFFSET(MODE) (64 - (signed)GET_MODE_SIZE (MODE))
 
 /* Return true if STR starts with PREFIX and false, otherwise.  */
-#define STR_PREFIX_P(STR,PREFIX) (0 == strncmp (STR, PREFIX, strlen (PREFIX)))
+#define STR_PREFIX_P(STR,PREFIX) (strncmp (STR, PREFIX, strlen (PREFIX)) == 0)
 
 /* The 4 bits starting at SECTION_MACH_DEP are reserved to store the
    address space where data is to be located.
@@ -269,7 +269,7 @@  avr_popcount_each_byte (rtx xval, int n_
       rtx xval8 = simplify_gen_subreg (QImode, xval, mode, i);
       unsigned int val8 = UINTVAL (xval8) & GET_MODE_MASK (QImode);
 
-      if (0 == (pop_mask & (1 << popcount_hwi (val8))))
+      if ((pop_mask & (1 << popcount_hwi (val8))) == 0)
         return false;
     }
 
@@ -461,8 +461,8 @@  avr_is_casesi_sequence (basic_block bb,
 
   // Assert on the anatomy of xinsn's operands we are going to work with.
 
-  gcc_assert (11 == recog_data.n_operands);
-  gcc_assert (4 == recog_data.n_dups);
+  gcc_assert (recog_data.n_operands == 11);
+  gcc_assert (recog_data.n_dups == 4);
 
   if (dump_file)
     {
@@ -509,7 +509,7 @@  avr_casei_sequence_check_operands (rtx *
 
   if (sub_5
       && SUBREG_P (sub_5)
-      && 0 == SUBREG_BYTE (sub_5)
+      && SUBREG_BYTE (sub_5) == 0
       && rtx_equal_p (xop[5], SUBREG_REG (sub_5)))
     return true;
 
@@ -697,7 +697,7 @@  avr_set_core_architecture (void)
 
   for (const avr_mcu_t *mcu = avr_mcu_types; ; mcu++)
     {
-      if (NULL == mcu->name)
+      if (mcu->name == NULL)
         {
           /* Reached the end of `avr_mcu_types'.  This should actually never
              happen as options are provided by device-specs.  It could be a
@@ -709,9 +709,9 @@  avr_set_core_architecture (void)
           avr_inform_core_architectures ();
           break;
         }
-      else if (0 == strcmp (mcu->name, avr_mmcu)
+      else if (strcmp (mcu->name, avr_mmcu) == 0
                // Is this a proper architecture ?
-               && NULL == mcu->macro)
+	       && mcu->macro == NULL)
         {
           avr_arch = &avr_arch_types[mcu->arch_id];
           if (avr_n_flash < 0)
@@ -1109,9 +1109,9 @@  avr_set_current_function (tree decl)
   // Common problem is using "ISR" without first including avr/interrupt.h.
   const char *name = IDENTIFIER_POINTER (DECL_NAME (decl));
   name = default_strip_name_encoding (name);
-  if (0 == strcmp ("ISR", name)
-      || 0 == strcmp ("INTERRUPT", name)
-      || 0 == strcmp ("SIGNAL", name))
+  if (strcmp ("ISR", name) == 0
+      || strcmp ("INTERRUPT", name) == 0
+      || strcmp ("SIGNAL", name) == 0)
     {
       warning_at (loc, OPT_Wmisspelled_isr, "%qs is a reserved identifier"
                   " in AVR-LibC.  Consider %<#include <avr/interrupt.h>%>"
@@ -2572,7 +2572,7 @@  avr_legitimize_reload_address (rtx *px,
 
   if (GET_CODE (x) == PLUS
       && REG_P (XEXP (x, 0))
-      && 0 == reg_equiv_constant (REGNO (XEXP (x, 0)))
+      && reg_equiv_constant (REGNO (XEXP (x, 0))) == 0
       && CONST_INT_P (XEXP (x, 1))
       && INTVAL (XEXP (x, 1)) >= 1)
     {
@@ -2639,10 +2639,8 @@  avr_legitimize_reload_address (rtx *px,
 static const char*
 avr_asm_len (const char* tpl, rtx* operands, int* plen, int n_words)
 {
-  if (NULL == plen)
-    {
-      output_asm_insn (tpl, operands);
-    }
+  if (plen == NULL)
+    output_asm_insn (tpl, operands);
   else
     {
       if (n_words < 0)
@@ -2969,7 +2967,7 @@  avr_print_operand (FILE *file, rtx x, in
   else if (code == 'x')
     {
       /* Constant progmem address - like used in jmp or call */
-      if (0 == text_segment_operand (x, VOIDmode))
+      if (text_segment_operand (x, VOIDmode) == 0)
         if (warning (0, "accessing program memory"
                      " with data memory address"))
           {
@@ -3930,7 +3928,7 @@  output_movqi (rtx_insn *insn, rtx operan
       return avr_out_lpm (insn, operands, plen);
     }
 
-  gcc_assert (1 == GET_MODE_SIZE (GET_MODE (dest)));
+  gcc_assert (GET_MODE_SIZE (GET_MODE (dest)) == 1);
 
   if (REG_P (dest))
     {
@@ -4925,7 +4923,7 @@  output_movsisf (rtx_insn *insn, rtx oper
   if (!l)
     l = &dummy;
 
-  gcc_assert (4 == GET_MODE_SIZE (GET_MODE (dest)));
+  gcc_assert (GET_MODE_SIZE (GET_MODE (dest)) == 4);
 
   if (REG_P (dest))
     {
@@ -8265,7 +8263,7 @@  avr_out_plus (rtx insn, rtx *xop, int *p
       return "";
     }
 
-  if (8 == n_bytes)
+  if (n_bytes == 8)
     {
       op[0] = gen_rtx_REG (DImode, ACC_A);
       op[1] = gen_rtx_REG (DImode, ACC_A);
@@ -8383,11 +8381,11 @@  avr_out_bitop (rtx insn, rtx *xop, int *
         {
         case IOR:
 
-          if (0 == pop8)
+	  if (pop8 == 0)
             continue;
           else if (ld_reg_p)
             avr_asm_len ("ori %0,%1", op, plen, 1);
-          else if (1 == pop8)
+	  else if (pop8 == 1)
             {
               if (set_t != 1)
                 avr_asm_len ("set", op, plen, 1);
@@ -8396,7 +8394,7 @@  avr_out_bitop (rtx insn, rtx *xop, int *
               op[1] = GEN_INT (exact_log2 (val8));
               avr_asm_len ("bld %0,%1", op, plen, 1);
             }
-          else if (8 == pop8)
+	  else if (pop8 == 8)
             {
               if (op[3] != NULL_RTX)
                 avr_asm_len ("mov %0,%3", op, plen, 1);
@@ -8419,13 +8417,13 @@  avr_out_bitop (rtx insn, rtx *xop, int *
 
         case AND:
 
-          if (8 == pop8)
+	  if (pop8 == 8)
             continue;
-          else if (0 == pop8)
+	  else if (pop8 == 0)
             avr_asm_len ("clr %0", op, plen, 1);
           else if (ld_reg_p)
             avr_asm_len ("andi %0,%1", op, plen, 1);
-          else if (7 == pop8)
+	  else if (pop8 == 7)
             {
               if (set_t != 0)
                 avr_asm_len ("clt", op, plen, 1);
@@ -8447,9 +8445,9 @@  avr_out_bitop (rtx insn, rtx *xop, int *
 
         case XOR:
 
-          if (0 == pop8)
+	  if (pop8 == 0)
             continue;
-          else if (8 == pop8)
+	  else if (pop8 == 8)
             avr_asm_len ("com %0", op, plen, 1);
           else if (ld_reg_p && val8 == (1 << 7))
             avr_asm_len ("subi %0,%1", op, plen, 1);
@@ -8727,9 +8725,9 @@  avr_out_fract (rtx_insn *insn, rtx opera
 
   bool sign_extend = src.sbit && sign_bytes;
 
-  if (0 == dest.fbit % 8 && 7 == src.fbit % 8)
+  if (dest.fbit % 8 == 0 && src.fbit % 8 == 7)
     shift = ASHIFT;
-  else if (7 == dest.fbit % 8 && 0 == src.fbit % 8)
+  else if (dest.fbit % 8 == 7 && src.fbit % 8 == 0)
     shift = ASHIFTRT;
   else if (dest.fbit % 8 == src.fbit % 8)
     shift = UNKNOWN;
@@ -9401,8 +9399,7 @@  avr_adjust_insn_length (rtx_insn *insn,
      It is easier to state this in an insn attribute "adjust_len" than
      to clutter up code here...  */
 
-  if (!NONDEBUG_INSN_P (insn)
-      || -1 == recog_memoized (insn))
+  if (!NONDEBUG_INSN_P (insn) || recog_memoized (insn) == -1)
     {
       return len;
     }
@@ -10265,7 +10262,7 @@  avr_asm_init_sections (void)
      we have also to track .rodata because it is located in RAM then.  */
 
 #if defined HAVE_LD_AVR_AVRXMEGA3_RODATA_IN_FLASH
-  if (0 == avr_arch->flash_pm_offset)
+  if (avr_arch->flash_pm_offset == 0)
 #endif
     readonly_data_section->unnamed.callback = avr_output_data_section_asm_op;
   data_section->unnamed.callback = avr_output_data_section_asm_op;
@@ -10303,7 +10300,7 @@  avr_asm_named_section (const char *name,
 
   if (!avr_need_copy_data_p
 #if defined HAVE_LD_AVR_AVRXMEGA3_RODATA_IN_FLASH
-      && 0 == avr_arch->flash_pm_offset
+      && avr_arch->flash_pm_offset == 0
 #endif
       )
     avr_need_copy_data_p = (STR_PREFIX_P (name, ".rodata")
@@ -10439,8 +10436,7 @@  avr_encode_section_info (tree decl, rtx
       /* PSTR strings are in generic space but located in flash:
          patch address space.  */
 
-      if (!AVR_TINY
-          && -1 == avr_progmem_p (decl, attr))
+      if (!AVR_TINY && avr_progmem_p (decl, attr) == -1)
         as = ADDR_SPACE_FLASH;
 
       AVR_SYMBOL_SET_ADDR_SPACE (sym, as);
@@ -10479,7 +10475,7 @@  avr_encode_section_info (tree decl, rtx
       && SYMBOL_REF_P (XEXP (rtl, 0)))
     {
       rtx sym = XEXP (rtl, 0);
-      bool progmem_p = -1 == avr_progmem_p (decl, DECL_ATTRIBUTES (decl));
+      bool progmem_p = avr_progmem_p (decl, DECL_ATTRIBUTES (decl)) == -1;
 
       if (progmem_p)
         {
@@ -12091,9 +12087,7 @@  test_hard_reg_class (enum reg_class rcla
 static bool
 avr_2word_insn_p (rtx_insn *insn)
 {
-  if (TARGET_SKIP_BUG
-      || !insn
-      || 2 != get_attr_length (insn))
+  if (TARGET_SKIP_BUG || !insn || get_attr_length (insn) != 2)
     {
       return false;
     }
@@ -12402,11 +12396,8 @@  output_reload_in_const (rtx *op, rtx clo
 
           if (INTVAL (lo16) == INTVAL (hi16))
             {
-              if (0 != INTVAL (lo16)
-                  || !clear_p)
-                {
-                  avr_asm_len ("movw %C0,%A0", &op[0], len, 1);
-                }
+	      if (INTVAL (lo16) != 0 || !clear_p)
+		avr_asm_len ("movw %C0,%A0", &op[0], len, 1);
 
               break;
             }
@@ -12458,7 +12449,7 @@  output_reload_in_const (rtx *op, rtx clo
 
       /* Need no clobber reg for -1: Use CLR/DEC */
 
-      if (-1 == ival[n])
+      if (ival[n] == -1)
         {
           if (!clear_p)
             avr_asm_len ("clr %0", &xdest[n], len, 1);
@@ -12466,7 +12457,7 @@  output_reload_in_const (rtx *op, rtx clo
           avr_asm_len ("dec %0", &xdest[n], len, 1);
           continue;
         }
-      else if (1 == ival[n])
+      else if (ival[n] == 1)
         {
           if (!clear_p)
             avr_asm_len ("clr %0", &xdest[n], len, 1);
@@ -13690,7 +13681,7 @@  bool
 avr_has_nibble_0xf (rtx ival)
 {
   unsigned int map = UINTVAL (ival) & GET_MODE_MASK (SImode);
-  return 0 != avr_map_metric (map, MAP_MASK_PREIMAGE_F);
+  return avr_map_metric (map, MAP_MASK_PREIMAGE_F) != 0;
 }
 
 
@@ -13757,7 +13748,7 @@  static const avr_map_op_t avr_map_op[] =
 static avr_map_op_t
 avr_map_decompose (unsigned int f, const avr_map_op_t *g, bool val_const_p)
 {
-  bool val_used_p = 0 != avr_map_metric (f, MAP_MASK_PREIMAGE_F);
+  bool val_used_p = avr_map_metric (f, MAP_MASK_PREIMAGE_F) != 0;
   avr_map_op_t f_ginv = *g;
   unsigned int ginv = g->ginv;
 
@@ -13788,13 +13779,10 @@  avr_map_decompose (unsigned int f, const
 
   /* Step 2a:  Compute cost of F o G^-1  */
 
-  if (0 == avr_map_metric (f_ginv.map, MAP_NONFIXED_0_7))
-    {
-      /* The mapping consists only of fixed points and can be folded
-         to AND/OR logic in the remainder.  Reasonable cost is 3. */
-
-      f_ginv.cost = 2 + (val_used_p && !val_const_p);
-    }
+  if (avr_map_metric (f_ginv.map, MAP_NONFIXED_0_7) == 0)
+    /* The mapping consists only of fixed points and can be folded
+       to AND/OR logic in the remainder.  Reasonable cost is 3. */
+    f_ginv.cost = 2 + (val_used_p && !val_const_p);
   else
     {
       rtx xop[4];
@@ -14500,7 +14488,7 @@  avr_fold_builtin (tree fndecl, int n_arg
         map = TREE_INT_CST_LOW (tmap);
 
         if (TREE_CODE (tval) != INTEGER_CST
-            && 0 == avr_map_metric (map, MAP_MASK_PREIMAGE_F))
+	    && avr_map_metric (map, MAP_MASK_PREIMAGE_F) == 0)
           {
             /* There are no F in the map, i.e. 3rd operand is unused.
                Replace that argument with some constant to render
@@ -14511,7 +14499,7 @@  avr_fold_builtin (tree fndecl, int n_arg
           }
 
         if (TREE_CODE (tbits) != INTEGER_CST
-            && 0 == avr_map_metric (map, MAP_PREIMAGE_0_7))
+	    && avr_map_metric (map, MAP_PREIMAGE_0_7) == 0)
           {
             /* Similar for the bits to be inserted. If they are unused,
                we can just as well pass 0.  */
@@ -14550,7 +14538,7 @@  avr_fold_builtin (tree fndecl, int n_arg
         /* If bits don't change their position we can use vanilla logic
            to merge the two arguments.  */
 
-        if (0 == avr_map_metric (map, MAP_NONFIXED_0_7))
+	if (avr_map_metric (map, MAP_NONFIXED_0_7) == 0)
           {
             int mask_f = avr_map_metric (map, MAP_MASK_PREIMAGE_F);
             tree tres, tmask = build_int_cst (val_type, mask_f ^ 0xff);
--- gcc/config/avr/driver-avr.c.jj	2017-12-18 14:57:29.000000000 +0100
+++ gcc/config/avr/driver-avr.c	2017-12-19 14:09:08.134869194 +0100
@@ -59,7 +59,7 @@  avr_devicespecs_file (int argc, const ch
       return X_NODEVLIB;
 
     case 1:
-      if (0 == strcmp ("device-specs", argv[0]))
+      if (strcmp ("device-specs", argv[0]) == 0)
         {
           /* FIXME:  This means "device-specs%s" from avr.h:DRIVER_SELF_SPECS
              has not been resolved to a path.  That case can occur when the
@@ -81,7 +81,7 @@  avr_devicespecs_file (int argc, const ch
       // Allow specifying the same MCU more than once.
 
       for (int i = 2; i < argc; i++)
-        if (0 != strcmp (mmcu, argv[i]))
+	if (strcmp (mmcu, argv[i]) != 0)
           {
             error ("specified option %qs more than once", "-mmcu");
             return X_NODEVLIB;
--- gcc/config/avr/gen-avr-mmcu-specs.c.jj	2017-12-18 14:57:29.000000000 +0100
+++ gcc/config/avr/gen-avr-mmcu-specs.c	2017-12-19 14:09:53.510293110 +0100
@@ -55,7 +55,7 @@ 
 static bool
 str_prefix_p (const char *str, const char *prefix)
 {
-  return 0 == strncmp (str, prefix, strlen (prefix));
+  return strncmp (str, prefix, strlen (prefix)) == 0;
 }
 
 
@@ -133,12 +133,12 @@  print_mcu (const avr_mcu_t *mcu)
 
   FILE *f = fopen (name ,"w");
 
-  bool absdata = 0 != (mcu->dev_attribute & AVR_ISA_LDS);
-  bool errata_skip = 0 != (mcu->dev_attribute & AVR_ERRATA_SKIP);
-  bool rmw = 0 != (mcu->dev_attribute & AVR_ISA_RMW);
-  bool sp8 = 0 != (mcu->dev_attribute & AVR_SHORT_SP);
+  bool absdata = (mcu->dev_attribute & AVR_ISA_LDS) != 0;
+  bool errata_skip = (mcu->dev_attribute & AVR_ERRATA_SKIP) != 0;
+  bool rmw = (mcu->dev_attribute & AVR_ISA_RMW) != 0;
+  bool sp8 = (mcu->dev_attribute & AVR_SHORT_SP) != 0;
   bool rcall = (mcu->dev_attribute & AVR_ISA_RCALL);
-  bool is_arch = NULL == mcu->macro;
+  bool is_arch = mcu->macro == NULL;
   bool is_device = ! is_arch;
 
   if (is_arch
--- gcc/config/i386/i386.c.jj	2017-12-18 14:57:27.000000000 +0100
+++ gcc/config/i386/i386.c	2017-12-19 14:20:22.819314384 +0100
@@ -3160,8 +3160,8 @@  ix86_parse_stringop_strategy_string (cha
       if (next_range_str)
         *next_range_str++ = '\0';
 
-      if (3 != sscanf (curr_range_str, "%20[^:]:%d:%10s",
-                       alg_name, &maxs, align))
+      if (sscanf (curr_range_str, "%20[^:]:%d:%10s", alg_name, &maxs,
+		  align) != 3)
         {
 	  error ("wrong argument %qs to option %qs", curr_range_str, opt);
           return;
--- gcc/config/m32c/m32c-pragma.c.jj	2017-12-18 14:57:25.000000000 +0100
+++ gcc/config/m32c/m32c-pragma.c	2017-12-19 14:22:35.910629071 +0100
@@ -53,7 +53,7 @@  m32c_pragma_memregs (cpp_reader * reader
 	  if (type != CPP_EOF)
 	    warning (0, "junk at end of #pragma GCC memregs [0..16]");
 
-	  if (0 <= i && i <= 16)
+	  if (i >= 0 && i <= 16)
 	    {
 	      if (!ok_to_change_target_memregs)
 		{
--- gcc/config/m32c/m32c.c.jj	2017-12-18 14:57:25.000000000 +0100
+++ gcc/config/m32c/m32c.c	2017-12-19 14:22:19.452837474 +0100
@@ -517,7 +517,7 @@  m32c_conditional_register_usage (void)
 {
   int i;
 
-  if (0 <= target_memregs && target_memregs <= 16)
+  if (target_memregs >= 0 && target_memregs <= 16)
     {
       /* The command line option is bytes, but our "registers" are
 	 16-bit words.  */
@@ -2308,9 +2308,9 @@  m32c_address_cost (rtx addr, machine_mod
       i = INTVAL (addr);
       if (i == 0)
 	return COSTS_N_INSNS(1);
-      if (0 < i && i <= 255)
+      if (i > 0 && i <= 255)
 	return COSTS_N_INSNS(2);
-      if (0 < i && i <= 65535)
+      if (i > 0 && i <= 65535)
 	return COSTS_N_INSNS(3);
       return COSTS_N_INSNS(4);
     case SYMBOL_REF:
@@ -2323,9 +2323,9 @@  m32c_address_cost (rtx addr, machine_mod
 	  i = INTVAL (XEXP (addr, 1));
 	  if (i == 0)
 	    return COSTS_N_INSNS(1);
-	  if (0 < i && i <= 255)
+	  if (i > 0 && i <= 255)
 	    return COSTS_N_INSNS(2);
-	  if (0 < i && i <= 65535)
+	  if (i > 0 && i <= 65535)
 	    return COSTS_N_INSNS(3);
 	}
       return COSTS_N_INSNS(4);
--- gcc/config/m32c/predicates.md.jj	2017-01-01 12:45:42.000000000 +0100
+++ gcc/config/m32c/predicates.md	2017-12-19 14:23:07.918223765 +0100
@@ -210,11 +210,11 @@  (define_predicate "r1h_operand"
 (define_predicate "shiftcount_operand"
   (ior (match_operand 0 "mra_operand" "")
        (and (match_operand 2 "const_int_operand" "")
-	    (match_test "-8 <= INTVAL (op) && INTVAL (op) && INTVAL (op) <= 8"))))
+	    (match_test "INTVAL (op) >= -8 && INTVAL (op) && INTVAL (op) <= 8"))))
 (define_predicate "longshiftcount_operand"
   (ior (match_operand 0 "mra_operand" "")
        (and (match_operand 2 "const_int_operand" "")
-	    (match_test "-32 <= INTVAL (op) && INTVAL (op) && INTVAL (op) <= 32"))))
+	    (match_test "INTVAL (op) >= -32 && INTVAL (op) && INTVAL (op) <= 32"))))
 
 ; TRUE for r0..r3, a0..a1, or sp.
 (define_predicate "mra_or_sp_operand"
--- gcc/config/iq2000/iq2000.c.jj	2017-12-18 14:57:31.000000000 +0100
+++ gcc/config/iq2000/iq2000.c	2017-12-19 14:21:34.479406964 +0100
@@ -1982,10 +1982,10 @@  iq2000_expand_prologue (void)
 	{
 	  if (next_arg == 0
 	      && DECL_NAME (cur_arg)
-	      && ((0 == strcmp (IDENTIFIER_POINTER (DECL_NAME (cur_arg)),
-				"__builtin_va_alist"))
-		  || (0 == strcmp (IDENTIFIER_POINTER (DECL_NAME (cur_arg)),
-				   "va_alist"))))
+	      && (strcmp (IDENTIFIER_POINTER (DECL_NAME (cur_arg)),
+			  "__builtin_va_alist") == 0
+		  || strcmp (IDENTIFIER_POINTER (DECL_NAME (cur_arg)),
+			     "va_alist") == 0))
 	    {
 	      last_arg_is_vararg_marker = 1;
 	      break;
--- gcc/config/nios2/nios2.c.jj	2017-12-18 14:57:30.000000000 +0100
+++ gcc/config/nios2/nios2.c	2017-12-19 14:26:08.867934356 +0100
@@ -1330,7 +1330,7 @@  nios2_handle_custom_fpu_insn_option (int
 {
   int param = N2FPU_N (fpu_insn_index);
 
-  if (0 <= param && param <= 255)
+  if (param >= 0 && param <= 255)
     nios2_register_custom_code (param, CCS_FPU, fpu_insn_index);
 
   /* Valid values are 0-255, but also allow -1 so that the
@@ -5131,7 +5131,7 @@  static bool
 can_use_cdx_ldstw (int regno, int basereg, int offset)
 {
   if (CDX_REG_P (regno) && CDX_REG_P (basereg)
-      && (offset & 0x3) == 0 && 0 <= offset && offset < 0x40)
+      && (offset & 0x3) == 0 && offset >= 0 && offset < 0x40)
     return true;
   else if (basereg == SP_REGNO
 	   && offset >= 0 && offset < 0x80 && (offset & 0x3) == 0)
--- gcc/config/nios2/nios2.h.jj	2017-10-30 12:02:36.000000000 +0100
+++ gcc/config/nios2/nios2.h	2017-12-19 14:26:31.779644510 +0100
@@ -221,7 +221,7 @@  enum reg_class
   ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
 
 #define CDX_REG_P(REGNO)						\
-  ((REGNO) == 16 || (REGNO) == 17 || (2 <= (REGNO) && (REGNO) <= 7))
+  ((REGNO) == 16 || (REGNO) == 17 || ((REGNO) >= 2 && (REGNO) <= 7))
 
 /* Tests for various kinds of constants used in the Nios II port.  */
 
--- gcc/config/cr16/cr16.h.jj	2017-11-13 09:31:34.000000000 +0100
+++ gcc/config/cr16/cr16.h	2017-12-19 14:11:59.820689479 +0100
@@ -233,7 +233,7 @@  while (0)
 /* A C expression whose value is RTL representing the value of the return
    address for the frame COUNT steps up from the current frame.  */
 #define RETURN_ADDR_RTX(COUNT, FRAME) 			  		\
-  (0 == COUNT)	?  gen_rtx_PLUS (Pmode, gen_rtx_RA, gen_rtx_RA)		\
+  (COUNT == 0)	?  gen_rtx_PLUS (Pmode, gen_rtx_RA, gen_rtx_RA)		\
 		:  const0_rtx
 
 enum reg_class
@@ -293,7 +293,7 @@  enum reg_class
 	(CR16_REGNO_OK_FOR_BASE_P(REGNO)  &&	  \
 	  ((GET_MODE_SIZE (MODE) > 4  &&  	  \
 	     (REGNO) < CR16_FIRST_DWORD_REGISTER) \
-	     ? (0 == ((REGNO) & 1)) 		  \
+	     ? (((REGNO) & 1) == 0) 		  \
 	     : 1))
 
 /* TODO: For now lets not support index addressing mode.  */
--- gcc/config/cr16/cr16.md.jj	2017-01-01 12:45:42.000000000 +0100
+++ gcc/config/cr16/cr16.md	2017-12-19 14:13:47.569321507 +0100
@@ -655,8 +655,8 @@  (define_insn "*mov<mode>_double"
    || register_operand (operands[1], DImode)
    || register_operand (operands[1], DFmode)"
   {
-    if (0 == which_alternative) {
-      rtx xoperands[2] ;
+    if (which_alternative == 0) {
+      rtx xoperands[2];
       int reg0 = REGNO (operands[0]);
       int reg1 = REGNO (operands[1]);
 
@@ -673,9 +673,9 @@  (define_insn "*mov<mode>_double"
 	  output_asm_insn ("movd\t%1, %0", operands);
 	}}
 
-    else if (1 == which_alternative) {
-      rtx lo_operands[2] ;
-      rtx hi_operands[2] ;
+    else if (which_alternative == 1) {
+      rtx lo_operands[2];
+      rtx hi_operands[2];
 
       lo_operands[0] = gen_rtx_REG (SImode, REGNO (operands[0]));
       hi_operands[0] = gen_rtx_REG (SImode, REGNO (operands[0]) + 2);
@@ -688,40 +688,40 @@  (define_insn "*mov<mode>_double"
       output_asm_insn ("movd\t%1, %0", lo_operands);
       output_asm_insn ("movd\t%1, %0", hi_operands);}
 
-    else if (2 == which_alternative) {
-      rtx xoperands[2] ;
-      int reg0 = REGNO (operands[0]), reg1 = -2 ;
-      rtx addr ;
+    else if (which_alternative == 2) {
+      rtx xoperands[2];
+      int reg0 = REGNO (operands[0]), reg1 = -2;
+      rtx addr;
 
 	if (MEM_P (operands[1]))
 	  addr = XEXP (operands[1], 0);
 	else
-	  addr = NULL_RTX ;
+	  addr = NULL_RTX;
 	switch (GET_CODE (addr))
 	  {
 	    case REG:
 	    case SUBREG:
 	      reg1 = REGNO (addr);
-	      break ;
+	      break;
 	    case PLUS:
 	      switch (GET_CODE (XEXP (addr, 0))) {
 		case REG:
 		case SUBREG:
 		  reg1 = REGNO (XEXP (addr, 0));
-		  break ;
+		  break;
 		case PLUS:
 		  reg1 = REGNO (XEXP (XEXP (addr, 0), 0));
-		  break ;
+		  break;
 		default:
 		  inform (DECL_SOURCE_LOCATION (cfun->decl), "unexpected expression; addr:");
 		  debug_rtx (addr);
 		  inform (DECL_SOURCE_LOCATION (cfun->decl), "operands[1]:");
 		  debug_rtx (operands[1]);
 		  inform (DECL_SOURCE_LOCATION (cfun->decl), "generated code might now work\n");
-		  break ;}
-	      break ;
+		  break;}
+	      break;
 	    default:
-	      break ;
+	      break;
 	  }
 
 	xoperands[0] = gen_rtx_REG (SImode, reg0 + 2);
@@ -739,13 +739,13 @@  (define_insn "*mov<mode>_double"
 	  }}
     else
       {
-	rtx xoperands[2] ;
+	rtx xoperands[2];
 	xoperands[0] = offset_address (operands[0], GEN_INT (4), 2);
 	xoperands[1] = gen_rtx_REG (SImode, REGNO (operands[1]) + 2);
 	output_asm_insn ("stord\t%1, %0", operands);
    	output_asm_insn ("stord\t%1, %0", xoperands);
       }
-    return "" ;
+    return "";
   }
   [(set_attr "length" "4, <lImmArithD>, <lImmArithD>, <lImmArithD>")]
 )
--- gcc/config/cr16/cr16.c.jj	2017-12-18 14:57:35.000000000 +0100
+++ gcc/config/cr16/cr16.c	2017-12-19 14:11:24.472138262 +0100
@@ -1859,10 +1859,10 @@  cr16_create_dwarf_for_multi_push (rtx in
 
   for (i = current_frame_info.last_reg_to_save; i >= 0;)
     {
-      if (!current_frame_info.save_regs[i] || 0 == i || split_here)
+      if (!current_frame_info.save_regs[i] || i == 0 || split_here)
 	{
 	  /* This block of regs is pushed in one instruction.  */
-	  if (0 == i && current_frame_info.save_regs[i])
+	  if (i == 0 && current_frame_info.save_regs[i])
 	    from = 0;
 
 	  for (j = to; j >= from; --j)
--- gcc/config/h8300/h8300.c.jj	2017-12-18 14:57:35.000000000 +0100
+++ gcc/config/h8300/h8300.c	2017-12-19 14:19:44.565798781 +0100
@@ -1267,7 +1267,7 @@  h8300_rtx_costs (rtx x, machine_mode mod
 	    *total = 0;
 	    return true;
 	  }
-	if (-4 <= n && n <= 4)
+	if (n >= -4 && n <= 4)
 	  {
 	    switch ((int) n)
 	      {
@@ -4171,7 +4171,7 @@  get_shift_alg (enum shift_type shift_typ
 	      goto end;
 	    }
 	}
-      else if ((8 <= count && count <= 13)
+      else if ((count >= 8 && count <= 13)
 	       || (TARGET_H8300S && count == 14))
 	{
 	  info->remainder = count - 8;
@@ -4251,7 +4251,7 @@  get_shift_alg (enum shift_type shift_typ
       gcc_unreachable ();
 
     case SIshift:
-      if (TARGET_H8300 && 8 <= count && count <= 9)
+      if (TARGET_H8300 && count >= 8 && count <= 9)
 	{
 	  info->remainder = count - 8;
 
@@ -4314,9 +4314,9 @@  get_shift_alg (enum shift_type shift_typ
 	      gcc_unreachable ();
 	    }
 	}
-      else if ((TARGET_H8300 && 16 <= count && count <= 20)
-	       || (TARGET_H8300H && 16 <= count && count <= 19)
-	       || (TARGET_H8300S && 16 <= count && count <= 21))
+      else if ((TARGET_H8300 && count >= 16 && count <= 20)
+	       || (TARGET_H8300H && count >= 16 && count <= 19)
+	       || (TARGET_H8300S && count >= 16 && count <= 21))
 	{
 	  info->remainder = count - 16;
 
@@ -4353,7 +4353,7 @@  get_shift_alg (enum shift_type shift_typ
 	      goto end;
 	    }
 	}
-      else if (TARGET_H8300 && 24 <= count && count <= 28)
+      else if (TARGET_H8300 && count >= 24 && count <= 28)
 	{
 	  info->remainder = count - 24;
 
@@ -4377,7 +4377,7 @@  get_shift_alg (enum shift_type shift_typ
 	    }
 	}
       else if ((TARGET_H8300H && count == 24)
-	       || (TARGET_H8300S && 24 <= count && count <= 25))
+	       || (TARGET_H8300S && count >= 24 && count <= 25))
 	{
 	  info->remainder = count - 24;
 
--- gcc/config/vax/constraints.md.jj	2017-01-01 12:45:43.000000000 +0100
+++ gcc/config/vax/constraints.md	2017-12-19 14:28:30.429143525 +0100
@@ -25,32 +25,32 @@  (define_constraint "Z0"
 (define_constraint "U06"
    "unsigned 6 bit value (0..63)"
    (and (match_code "const_int")
-	(match_test "0 <= ival && ival < 64")))
+	(match_test "ival >= 0 && ival < 64")))
 
 (define_constraint "U08"
    "Unsigned 8 bit value"
    (and (match_code "const_int")
-	(match_test "0 <= ival && ival < 256")))
+	(match_test "ival >= 0 && ival < 256")))
 
 (define_constraint "U16"
    "Unsigned 16 bit value"
    (and (match_code "const_int")
-	(match_test "0 <= ival && ival < 65536")))
+	(match_test "ival >= 0 && ival < 65536")))
 
 (define_constraint "CN6"
    "negative 6 bit value (-63..-1)"
    (and (match_code "const_int")
-	(match_test "-63 <= ival && ival < 0")))
+	(match_test "ival >= -63 && ival < 0")))
 
 (define_constraint "S08"
    "signed 8 bit value [old]"
    (and (match_code "const_int")
-	(match_test "-128 <= ival && ival < 128")))
+	(match_test "ival >= -128 && ival < 128")))
 
 (define_constraint "S16"
    "signed 16 bit value [old]"
    (and (match_code "const_int")
-	(match_test "-32768 <= ival && ival < 32768")))
+	(match_test "ival >= -32768 && ival < 32768")))
 
 (define_constraint "I"
    "Match a CONST_INT of 0 [old]"
--- gcc/config/vax/vax.c.jj	2017-12-18 14:57:35.000000000 +0100
+++ gcc/config/vax/vax.c	2017-12-19 14:29:18.099540468 +0100
@@ -2029,7 +2029,7 @@  adjacent_operands_p (rtx lo, rtx hi, mac
   if (REG_P (lo))
     return mode == SImode && REGNO (lo) + 1 == REGNO (hi);
   if (CONST_INT_P (lo))
-    return INTVAL (hi) == 0 && 0 <= INTVAL (lo) && INTVAL (lo) < 64;
+    return INTVAL (hi) == 0 && UINTVAL (lo) < 64;
   if (CONST_INT_P (lo))
     return mode != SImode;
 
--- gcc/config/ft32/constraints.md.jj	2017-01-01 12:45:44.000000000 +0100
+++ gcc/config/ft32/constraints.md	2017-12-19 14:14:45.445586713 +0100
@@ -91,7 +91,7 @@  (define_constraint "x"
 (define_constraint "L"
   "A 16-bit unsigned constant, multiple of 4 (-65532..0)"
   (and (match_code "const_int")
-       (match_test "-65532 <= ival && ival <= 0 && (ival & 3) == 0")))
+       (match_test "ival >= -65532 && ival <= 0 && (ival & 3) == 0")))
 
 (define_constraint "S"
   "A 20-bit signed constant (-524288..524287)"
@@ -105,9 +105,9 @@  (define_constraint "S"
 (define_constraint "b"
   "A constant for a bitfield width (1..16)"
   (and (match_code "const_int")
-       (match_test "1 <= ival && ival <= 16")))
+       (match_test "ival >= 1 && ival <= 16")))
 
 (define_constraint "KA"
   "A 10-bit signed constant (-512..511)"
   (and (match_code "const_int")
-       (match_test "-512 <= ival && ival <= 511")))
+       (match_test "ival >= -512 && ival <= 511")))
--- gcc/config/ft32/ft32.c.jj	2017-12-18 14:57:34.000000000 +0100
+++ gcc/config/ft32/ft32.c	2017-12-19 14:15:57.748670927 +0100
@@ -265,12 +265,12 @@  ft32_load_immediate (rtx dst, int32_t i)
 {
   char pattern[100];
 
-  if ((-524288 <= i) && (i <= 524287))
+  if (i >= -524288 && i <= 524287)
     {
       sprintf (pattern, "ldk.l  %%0,%d", i);
       output_asm_insn (pattern, &dst);
     }
-  else if ((-536870912 <= i) && (i <= 536870911))
+  else if (i >= -536870912 && i <= 536870911)
     {
       ft32_load_immediate (dst, i >> 10);
       sprintf (pattern, "ldl.l  %%0,%%0,%d", i & 1023);
@@ -283,7 +283,7 @@  ft32_load_immediate (rtx dst, int32_t i)
       for (rd = 1; rd < 32; rd++)
         {
           u = ((u >> 31) & 1) | (u << 1);
-          if ((-524288 <= (int32_t) u) && ((int32_t) u <= 524287))
+	  if ((int32_t) u >= -524288 && (int32_t) u <= 524287)
             {
               ft32_load_immediate (dst, (int32_t) u);
               sprintf (pattern, "ror.l  %%0,%%0,%d", rd);
@@ -496,7 +496,7 @@  ft32_expand_prologue (void)
 	}
     }
 
-  if (65536 <= cfun->machine->size_for_adjusting_sp)
+  if (cfun->machine->size_for_adjusting_sp >= 65536)
     {
       error ("stack frame must be smaller than 64K");
       return;
--- gcc/cfgexpand.c.jj	2017-12-18 14:57:24.000000000 +0100
+++ gcc/cfgexpand.c	2017-12-19 14:32:54.590799955 +0100
@@ -6102,7 +6102,7 @@  expand_stack_alignment (void)
   gcc_assert ((stack_realign_drap != 0) == (drap_rtx != NULL));
 
   /* Do nothing if NULL is returned, which means DRAP is not needed.  */
-  if (NULL != drap_rtx)
+  if (drap_rtx != NULL)
     {
       crtl->args.internal_arg_pointer = drap_rtx;
 
--- gcc/gcse.c.jj	2017-03-03 13:23:59.000000000 +0100
+++ gcc/gcse.c	2017-12-19 13:23:06.054986320 +0100
@@ -1136,7 +1136,7 @@  insert_expr_in_table (rtx x, machine_mod
   cur_expr = table->table[hash];
   found = 0;
 
-  while (cur_expr && 0 == (found = expr_equiv_p (cur_expr->expr, x)))
+  while (cur_expr && (found = expr_equiv_p (cur_expr->expr, x)) == 0)
     {
       /* If the expression isn't found, save a pointer to the end of
 	 the list.  */
--- gcc/cp/name-lookup.c.jj	2017-12-18 18:35:44.000000000 +0100
+++ gcc/cp/name-lookup.c	2017-12-19 13:39:06.450758466 +0100
@@ -5485,7 +5485,7 @@  get_std_name_hint (const char *name)
   const size_t num_hints = sizeof (hints) / sizeof (hints[0]);
   for (size_t i = 0; i < num_hints; i++)
     {
-      if (0 == strcmp (name, hints[i].name))
+      if (strcmp (name, hints[i].name) == 0)
 	return hints[i].header;
     }
   return NULL;
--- gcc/cp/class.c.jj	2017-11-22 21:37:46.000000000 +0100
+++ gcc/cp/class.c	2017-12-19 13:38:11.136462656 +0100
@@ -3276,12 +3276,14 @@  check_bitfield_decl (tree field)
 		   && tree_int_cst_lt (TYPE_SIZE (type), w)))
 	warning_at (DECL_SOURCE_LOCATION (field), 0,
 		    "width of %qD exceeds its type", field);
-      else if (TREE_CODE (type) == ENUMERAL_TYPE
-	       && (0 > (compare_tree_int
-			(w, TYPE_PRECISION (ENUM_UNDERLYING_TYPE (type))))))
-	warning_at (DECL_SOURCE_LOCATION (field), 0,
-		    "%qD is too small to hold all values of %q#T",
-		    field, type);
+      else if (TREE_CODE (type) == ENUMERAL_TYPE)
+	{
+	  int prec = TYPE_PRECISION (ENUM_UNDERLYING_TYPE (type));
+	  if (compare_tree_int (w, prec) < 0)
+	    warning_at (DECL_SOURCE_LOCATION (field), 0,
+			"%qD is too small to hold all values of %q#T",
+			field, type);
+	}
     }
 
   if (w != error_mark_node)
--- gcc/cp/pt.c.jj	2017-12-18 18:35:44.000000000 +0100
+++ gcc/cp/pt.c	2017-12-19 13:39:28.208481475 +0100
@@ -7838,7 +7838,7 @@  convert_template_argument (tree parm,
 	  if (innertype
 	      && TREE_CODE (innertype) == REFERENCE_TYPE
 	      && TREE_CODE (TREE_TYPE (innertype)) == FUNCTION_TYPE
-              && 0 < TREE_OPERAND_LENGTH (inner)
+	      && TREE_OPERAND_LENGTH (inner) > 0
               && reject_gcc_builtin (TREE_OPERAND (inner, 0)))
               return error_mark_node;
         }
--- gcc/cp/decl.c.jj	2017-12-15 22:39:57.000000000 +0100
+++ gcc/cp/decl.c	2017-12-19 13:38:42.713060664 +0100
@@ -1858,8 +1858,8 @@  next_arg:;
 		   t1 = TREE_CHAIN (t1), t2 = TREE_CHAIN (t2), i++)
 		if (TREE_PURPOSE (t1) && TREE_PURPOSE (t2))
 		  {
-		    if (1 == simple_cst_equal (TREE_PURPOSE (t1),
-					       TREE_PURPOSE (t2)))
+		    if (simple_cst_equal (TREE_PURPOSE (t1),
+					  TREE_PURPOSE (t2)) == 1)
 		      {
 			if (permerror (input_location,
 				       "default argument given for parameter "
--- gcc/cp/typeck.c.jj	2017-12-14 21:11:44.000000000 +0100
+++ gcc/cp/typeck.c	2017-12-19 13:39:49.644208582 +0100
@@ -214,7 +214,7 @@  commonparms (tree p1, tree p2)
 	}
       else
 	{
-	  if (1 != simple_cst_equal (TREE_PURPOSE (p1), TREE_PURPOSE (p2)))
+	  if (simple_cst_equal (TREE_PURPOSE (p1), TREE_PURPOSE (p2)) != 1)
 	    any_change = 1;
 	  TREE_PURPOSE (n) = TREE_PURPOSE (p2);
 	}
--- gcc/print-rtl.c.jj	2017-12-12 09:48:26.000000000 +0100
+++ gcc/print-rtl.c	2017-12-19 14:35:14.752020933 +0100
@@ -346,7 +346,7 @@  rtx_writer::print_rtx_operand_codes_E_an
       m_sawclose = 0;
     }
   fputs (" [", m_outfile);
-  if (NULL != XVEC (in_rtx, idx))
+  if (XVEC (in_rtx, idx) != NULL)
     {
       m_indent += 2;
       if (XVECLEN (in_rtx, idx))
--- gcc/cgraphunit.c.jj	2017-11-15 09:38:23.000000000 +0100
+++ gcc/cgraphunit.c	2017-12-19 13:11:35.287778938 +0100
@@ -2155,8 +2155,8 @@  cgraph_node::expand (void)
 
       if (ret_type && TYPE_SIZE_UNIT (ret_type)
 	  && TREE_CODE (TYPE_SIZE_UNIT (ret_type)) == INTEGER_CST
-	  && 0 < compare_tree_int (TYPE_SIZE_UNIT (ret_type),
-				   larger_than_size))
+	  && compare_tree_int (TYPE_SIZE_UNIT (ret_type),
+			       larger_than_size) > 0)
 	{
 	  unsigned int size_as_int
 	    = TREE_INT_CST_LOW (TYPE_SIZE_UNIT (ret_type));
--- gcc/ira-build.c.jj	2017-11-03 20:03:45.000000000 +0100
+++ gcc/ira-build.c	2017-12-19 13:26:07.363677658 +0100
@@ -2756,8 +2756,8 @@  setup_min_max_allocno_live_range_point (
 #ifdef ENABLE_IRA_CHECKING
   FOR_EACH_OBJECT (obj, oi)
     {
-      if ((0 <= OBJECT_MIN (obj) && OBJECT_MIN (obj) <= ira_max_point)
-	  && (0 <= OBJECT_MAX (obj) && OBJECT_MAX (obj) <= ira_max_point))
+      if ((OBJECT_MIN (obj) >= 0 && OBJECT_MIN (obj) <= ira_max_point)
+	  && (OBJECT_MAX (obj) >= 0 && OBJECT_MAX (obj) <= ira_max_point))
 	continue;
       gcc_unreachable ();
     }
--- gcc/ada/gcc-interface/trans.c.jj	2017-12-14 21:11:44.000000000 +0100
+++ gcc/ada/gcc-interface/trans.c	2017-12-19 14:00:46.546238596 +0100
@@ -3190,7 +3190,7 @@  Loop_Statement_to_gnu (Node_Id gnat_node
 
 	  /* Note that loop unswitching can only be applied a small number of
 	     times to a given loop (PARAM_MAX_UNSWITCH_LEVEL default to 3).  */
-	  if (0 < n_remaining_checks && n_remaining_checks <= 3
+	  if (n_remaining_checks > 0 && n_remaining_checks <= 3
 	      && optimize > 1 && !optimize_size)
 	    FOR_EACH_VEC_ELT (*gnu_loop_info->checks, i, rci)
 	      if (rci->invariant_cond != boolean_false_node)
--- gcc/ada/gcc-interface/misc.c.jj	2017-12-14 21:11:44.000000000 +0100
+++ gcc/ada/gcc-interface/misc.c	2017-12-19 14:00:30.169446577 +0100
@@ -953,7 +953,7 @@  gnat_get_array_descr_info (const_tree co
      structure.  */
   for (i = (convention_fortran_p ? info->ndimensions - 1 : 0),
        dimen = first_dimen;
-       0 <= i && i < info->ndimensions;
+       i >= 0 && i < info->ndimensions;
        i += (convention_fortran_p ? -1 : 1),
        dimen = TREE_TYPE (dimen))
     {
@@ -1146,8 +1146,8 @@  default_pass_by_ref (tree gnu_type)
 
   if (AGGREGATE_TYPE_P (gnu_type)
       && (!valid_constant_size_p (TYPE_SIZE_UNIT (gnu_type))
-	  || 0 < compare_tree_int (TYPE_SIZE_UNIT (gnu_type),
-				   TYPE_ALIGN (gnu_type))))
+	  || compare_tree_int (TYPE_SIZE_UNIT (gnu_type),
+			       TYPE_ALIGN (gnu_type)) > 0))
     return true;
 
   if (pass_by_reference (NULL, TYPE_MODE (gnu_type), gnu_type, true))
--- gcc/ada/gcc-interface/decl.c.jj	2017-12-14 21:11:44.000000000 +0100
+++ gcc/ada/gcc-interface/decl.c	2017-12-19 13:59:54.744896460 +0100
@@ -2111,7 +2111,7 @@  gnat_to_gnu_entity (Entity_Id gnat_entit
 	   index to the template.  */
 	for (index = (convention_fortran_p ? ndim - 1 : 0),
 	     gnat_index = First_Index (gnat_entity);
-	     0 <= index && index < ndim;
+	     index >= 0 && index < ndim;
 	     index += (convention_fortran_p ? - 1 : 1),
 	     gnat_index = Next_Index (gnat_index))
 	  {
@@ -2362,7 +2362,7 @@  gnat_to_gnu_entity (Entity_Id gnat_entit
 	       gnat_index = First_Index (gnat_entity),
 	       gnat_base_index
 		 = First_Index (Implementation_Base_Type (gnat_entity));
-	       0 <= index && index < ndim;
+	       index >= 0 && index < ndim;
 	       index += (convention_fortran_p ? - 1 : 1),
 	       gnat_index = Next_Index (gnat_index),
 	       gnat_base_index = Next_Index (gnat_base_index))
--- gcc/ada/adaint.c.jj	2017-11-08 21:14:34.000000000 +0100
+++ gcc/ada/adaint.c	2017-12-19 13:33:47.093824108 +0100
@@ -1221,7 +1221,7 @@  __gnat_tmp_name (char *tmp_filename)
 
       /* Fill up the name buffer from the last position.  */
       seed++;
-      for (t = seed; 0 <= --index; t >>= 3)
+      for (t = seed; --index >= 0; t >>= 3)
         *--pos = '0' + (t & 07);
 
       /* Check to see if its unique, if not bump the seed and try again.  */
--- gcc/emit-rtl.c.jj	2017-12-18 14:57:24.000000000 +0100
+++ gcc/emit-rtl.c	2017-12-19 14:34:04.891907645 +0100
@@ -4047,7 +4047,7 @@  add_insn (rtx_insn *insn)
 {
   rtx_insn *prev = get_last_insn ();
   link_insn_into_chain (insn, prev, NULL);
-  if (NULL == get_insns ())
+  if (get_insns () == NULL)
     set_first_insn (insn);
   set_last_insn (insn);
 }
--- gcc/input.c.jj	2017-09-01 09:25:44.000000000 +0200
+++ gcc/input.c	2017-12-19 13:25:22.114253833 +0100
@@ -1117,7 +1117,7 @@  dump_location_info (FILE *stream)
 	  expanded_location exploc
 	    = linemap_expand_location (line_table, map, loc);
 
-	  if (0 == exploc.column)
+	  if (exploc.column == 0)
 	    {
 	      /* Beginning of a new source line: draw the line.  */
 
--- gcc/passes.c.jj	2017-10-11 22:37:55.000000000 +0200
+++ gcc/passes.c	2017-12-19 14:34:51.325318280 +0100
@@ -1584,7 +1584,7 @@  pass_manager::pass_manager (context *ctx
 
 #define NEXT_PASS(PASS, NUM) \
   do { \
-    gcc_assert (NULL == PASS ## _ ## NUM); \
+    gcc_assert (PASS ## _ ## NUM == NULL); \
     if ((NUM) == 1)                              \
       PASS ## _1 = make_##PASS (m_ctxt);          \
     else                                         \
--- gcc/read-rtl-function.c.jj	2017-06-12 12:41:58.000000000 +0200
+++ gcc/read-rtl-function.c	2017-12-19 13:28:00.110242019 +0100
@@ -321,7 +321,7 @@  static int
 parse_note_insn_name (const char *string)
 {
   for (int i = 0; i < NOTE_INSN_MAX; i++)
-    if (0 == strcmp (string, GET_NOTE_INSN_NAME (i)))
+    if (strcmp (string, GET_NOTE_INSN_NAME (i)) == 0)
       return i;
   fatal_with_file_and_line ("unrecognized NOTE_INSN name: `%s'", string);
 }
@@ -1079,7 +1079,7 @@  function_reader::read_rtx_operand_r (rtx
 	 "orig:%i", ORIGINAL_REGNO (rtx).
 	 Consume it, we don't set ORIGINAL_REGNO, since we can
 	 get that from the 2nd copy later.  */
-      if (0 == strncmp (desc, "orig:", 5))
+      if (strncmp (desc, "orig:", 5) == 0)
 	{
 	  expect_original_regno = true;
 	  desc_start += 5;
@@ -1312,7 +1312,7 @@  function_reader::parse_mem_expr (const c
 {
   tree fndecl = cfun->decl;
 
-  if (0 == strcmp (desc, "<retval>"))
+  if (strcmp (desc, "<retval>") == 0)
     return DECL_RESULT (fndecl);
 
   tree param = find_param_by_name (fndecl, desc);
--- gcc/sched-rgn.c.jj	2017-09-22 20:51:51.000000000 +0200
+++ gcc/sched-rgn.c	2017-12-19 13:30:48.401099117 +0100
@@ -3258,10 +3258,10 @@  sched_rgn_init (bool single_blocks_p)
 	free_dominance_info (CDI_DOMINATORS);
     }
 
-  gcc_assert (0 < nr_regions && nr_regions <= n_basic_blocks_for_fn (cfun));
+  gcc_assert (nr_regions > 0 && nr_regions <= n_basic_blocks_for_fn (cfun));
 
-  RGN_BLOCKS (nr_regions) = (RGN_BLOCKS (nr_regions - 1) +
-			     RGN_NR_BLOCKS (nr_regions - 1));
+  RGN_BLOCKS (nr_regions) = (RGN_BLOCKS (nr_regions - 1)
+			     + RGN_NR_BLOCKS (nr_regions - 1));
   nr_regions_initial = nr_regions;
 }
 
--- gcc/diagnostic-show-locus.c.jj	2017-11-29 08:59:18.000000000 +0100
+++ gcc/diagnostic-show-locus.c	2017-12-19 13:12:21.864186783 +0100
@@ -1866,7 +1866,7 @@  layout::show_ruler (int max_column) cons
     {
       pp_space (m_pp);
       for (int column = 1 + m_x_offset; column <= max_column; column++)
-	if (0 == column % 10)
+	if (column % 10 == 0)
 	  pp_character (m_pp, '0' + (column / 100) % 10);
 	else
 	  pp_space (m_pp);
@@ -1876,7 +1876,7 @@  layout::show_ruler (int max_column) cons
   /* Tens.  */
   pp_space (m_pp);
   for (int column = 1 + m_x_offset; column <= max_column; column++)
-    if (0 == column % 10)
+    if (column % 10 == 0)
       pp_character (m_pp, '0' + (column / 10) % 10);
     else
       pp_space (m_pp);
--- gcc/combine.c.jj	2017-12-18 14:57:24.000000000 +0100
+++ gcc/combine.c	2017-12-19 13:09:36.020295260 +0100
@@ -5083,9 +5083,9 @@  find_split_point (rtx *loc, rtx_insn *in
 	     is known to be on, this can be converted into a NEG of a shift.  */
 	  if (STORE_FLAG_VALUE == -1 && XEXP (SET_SRC (x), 1) == const0_rtx
 	      && GET_MODE (SET_SRC (x)) == GET_MODE (XEXP (SET_SRC (x), 0))
-	      && 1 <= (pos = exact_log2
-		       (nonzero_bits (XEXP (SET_SRC (x), 0),
-				      GET_MODE (XEXP (SET_SRC (x), 0))))))
+	      && ((pos = exact_log2 (nonzero_bits (XEXP (SET_SRC (x), 0),
+						   GET_MODE (XEXP (SET_SRC (x),
+							     0))))) >= 1))
 	    {
 	      machine_mode mode = GET_MODE (XEXP (SET_SRC (x), 0));
 
@@ -6680,7 +6680,7 @@  simplify_if_then_else (rtx x)
       && XEXP (cond, 1) == const0_rtx
       && false_rtx == const0_rtx
       && CONST_INT_P (true_rtx)
-      && ((1 == nonzero_bits (XEXP (cond, 0), int_mode)
+      && ((nonzero_bits (XEXP (cond, 0), int_mode) == 1
 	   && (i = exact_log2 (UINTVAL (true_rtx))) >= 0)
 	  || ((num_sign_bit_copies (XEXP (cond, 0), int_mode)
 	       == GET_MODE_PRECISION (int_mode))
@@ -8637,9 +8637,9 @@  force_to_mode (rtx x, machine_mode mode,
   if (GET_CODE (x) == SUBREG
       && subreg_lowpart_p (x)
       && (partial_subreg_p (x)
-	  || (0 == (mask
-		    & GET_MODE_MASK (GET_MODE (x))
-		    & ~GET_MODE_MASK (GET_MODE (SUBREG_REG (x)))))))
+	  || (mask
+	      & GET_MODE_MASK (GET_MODE (x))
+	      & ~GET_MODE_MASK (GET_MODE (SUBREG_REG (x)))) == 0))
     return force_to_mode (SUBREG_REG (x), mode, mask, next_select);
 
   scalar_int_mode int_mode, xmode;
@@ -9328,8 +9328,8 @@  if_then_else_cond (rtx x, rtx *ptrue, rt
   /* If X is a SUBREG, we can narrow both the true and false values
      if the inner expression, if there is a condition.  */
   else if (code == SUBREG
-	   && 0 != (cond0 = if_then_else_cond (SUBREG_REG (x),
-					       &true0, &false0)))
+	   && (cond0 = if_then_else_cond (SUBREG_REG (x), &true0,
+					  &false0)) != 0)
     {
       true0 = simplify_gen_subreg (mode, true0,
 				   GET_MODE (SUBREG_REG (x)), SUBREG_BYTE (x));
@@ -10928,8 +10928,8 @@  simplify_shift_const_1 (enum rtx_code co
 		 shift_unit_mode wider than result_mode.  */
 	      && !(code == ASHIFTRT && GET_CODE (varop) == XOR
 		   && int_result_mode != shift_unit_mode
-		   && 0 > trunc_int_for_mode (INTVAL (XEXP (varop, 1)),
-					      shift_unit_mode))
+		   && trunc_int_for_mode (INTVAL (XEXP (varop, 1)),
+					  shift_unit_mode) < 0)
 	      && (new_rtx = simplify_const_binary_operation
 		  (code, int_result_mode,
 		   gen_int_mode (INTVAL (XEXP (varop, 1)), int_result_mode),
@@ -10949,10 +10949,10 @@  simplify_shift_const_1 (enum rtx_code co
 	     (ashiftrt (xor)) where we've widened the shift and the constant
 	     changes the sign bit.  */
 	  if (CONST_INT_P (XEXP (varop, 1))
-	     && !(code == ASHIFTRT && GET_CODE (varop) == XOR
-		  && int_result_mode != shift_unit_mode
-		  && 0 > trunc_int_for_mode (INTVAL (XEXP (varop, 1)),
-					     shift_unit_mode)))
+	      && !(code == ASHIFTRT && GET_CODE (varop) == XOR
+		   && int_result_mode != shift_unit_mode
+		   && trunc_int_for_mode (INTVAL (XEXP (varop, 1)),
+					  shift_unit_mode) < 0))
 	    {
 	      rtx lhs = simplify_shift_const (NULL_RTX, code, shift_unit_mode,
 					      XEXP (varop, 0), count);
@@ -11061,10 +11061,10 @@  simplify_shift_const_1 (enum rtx_code co
 	  else if ((code == ASHIFTRT || code == LSHIFTRT)
 		   && count < HOST_BITS_PER_WIDE_INT
 		   && HWI_COMPUTABLE_MODE_P (int_result_mode)
-		   && 0 == (nonzero_bits (XEXP (varop, 0), int_result_mode)
-			    >> count)
-		   && 0 == (nonzero_bits (XEXP (varop, 0), int_result_mode)
-			    & nonzero_bits (XEXP (varop, 1), int_result_mode)))
+		   && (nonzero_bits (XEXP (varop, 0), int_result_mode)
+		       >> count) == 0
+		   && (nonzero_bits (XEXP (varop, 0), int_result_mode)
+		       & nonzero_bits (XEXP (varop, 1), int_result_mode)) == 0)
 	    {
 	      varop = XEXP (varop, 1);
 	      continue;
@@ -12000,10 +12000,10 @@  simplify_comparison (enum rtx_code code,
 	      && HWI_COMPUTABLE_MODE_P (GET_MODE (SUBREG_REG (inner_op0)))
 	      && (GET_MODE (SUBREG_REG (inner_op0))
 		  == GET_MODE (SUBREG_REG (inner_op1)))
-	      && (0 == ((~c0) & nonzero_bits (SUBREG_REG (inner_op0),
-					     GET_MODE (SUBREG_REG (inner_op0)))))
-	      && (0 == ((~c1) & nonzero_bits (SUBREG_REG (inner_op1),
-					     GET_MODE (SUBREG_REG (inner_op1))))))
+	      && ((~c0) & nonzero_bits (SUBREG_REG (inner_op0),
+					GET_MODE (SUBREG_REG (inner_op0)))) == 0
+	      && ((~c1) & nonzero_bits (SUBREG_REG (inner_op1),
+					GET_MODE (SUBREG_REG (inner_op1)))) == 0)
 	    {
 	      op0 = SUBREG_REG (inner_op0);
 	      op1 = SUBREG_REG (inner_op1);
@@ -12339,8 +12339,8 @@  simplify_comparison (enum rtx_code code,
 		   && (equality_comparison_p || unsigned_comparison_p)
 		   /* (A - C1) zero-extends if it is positive and sign-extends
 		      if it is negative, C2 both zero- and sign-extends.  */
-		   && ((0 == (nonzero_bits (a, inner_mode)
-			      & ~GET_MODE_MASK (mode))
+		   && (((nonzero_bits (a, inner_mode)
+			 & ~GET_MODE_MASK (mode)) == 0
 			&& const_op >= 0)
 		       /* (A - C1) sign-extends if it is positive and 1-extends
 			  if it is negative, C2 both sign- and 1-extends.  */
@@ -12408,8 +12408,8 @@  simplify_comparison (enum rtx_code code,
 	     this for equality comparisons due to pathological cases involving
 	     overflows.  */
 	  if (equality_comparison_p
-	      && 0 != (tem = simplify_binary_operation (MINUS, mode,
-							op1, XEXP (op0, 1))))
+	      && (tem = simplify_binary_operation (MINUS, mode,
+						   op1, XEXP (op0, 1))) != 0)
 	    {
 	      op0 = XEXP (op0, 0);
 	      op1 = tem;
@@ -12437,8 +12437,8 @@  simplify_comparison (enum rtx_code code,
 	     this for equality comparisons due to pathological cases involving
 	     overflows.  */
 	  if (equality_comparison_p
-	      && 0 != (tem = simplify_binary_operation (PLUS, mode,
-							XEXP (op0, 1), op1)))
+	      && (tem = simplify_binary_operation (PLUS, mode,
+						   XEXP (op0, 1), op1)) != 0)
 	    {
 	      op0 = XEXP (op0, 0);
 	      op1 = tem;
@@ -12446,8 +12446,8 @@  simplify_comparison (enum rtx_code code,
 	    }
 
 	  if (equality_comparison_p
-	      && 0 != (tem = simplify_binary_operation (MINUS, mode,
-							XEXP (op0, 0), op1)))
+	      && (tem = simplify_binary_operation (MINUS, mode,
+						   XEXP (op0, 0), op1)) != 0)
 	    {
 	      op0 = XEXP (op0, 1);
 	      op1 = tem;
@@ -12471,8 +12471,8 @@  simplify_comparison (enum rtx_code code,
 	  /* (eq (xor A B) C) -> (eq A (xor B C)).  This is a simplification
 	     if C is zero or B is a constant.  */
 	  if (equality_comparison_p
-	      && 0 != (tem = simplify_binary_operation (XOR, mode,
-							XEXP (op0, 1), op1)))
+	      && (tem = simplify_binary_operation (XOR, mode,
+						   XEXP (op0, 1), op1)) != 0)
 	    {
 	      op0 = XEXP (op0, 0);
 	      op1 = tem;
--- gcc/explow.c.jj	2017-12-14 09:10:45.000000000 +0100
+++ gcc/explow.c	2017-12-19 14:41:00.300634373 +0100
@@ -210,8 +210,8 @@  eliminate_constant_term (rtx x, rtx *con
 
   /* First handle constants appearing at this level explicitly.  */
   if (CONST_INT_P (XEXP (x, 1))
-      && 0 != (tem = simplify_binary_operation (PLUS, GET_MODE (x), *constptr,
-						XEXP (x, 1)))
+      && (tem = simplify_binary_operation (PLUS, GET_MODE (x), *constptr,
+					   XEXP (x, 1))) != 0
       && CONST_INT_P (tem))
     {
       *constptr = tem;
@@ -222,8 +222,8 @@  eliminate_constant_term (rtx x, rtx *con
   x0 = eliminate_constant_term (XEXP (x, 0), &tem);
   x1 = eliminate_constant_term (XEXP (x, 1), &tem);
   if ((x1 != XEXP (x, 1) || x0 != XEXP (x, 0))
-      && 0 != (tem = simplify_binary_operation (PLUS, GET_MODE (x),
-						*constptr, tem))
+      && (tem = simplify_binary_operation (PLUS, GET_MODE (x),
+					   *constptr, tem)) != 0
       && CONST_INT_P (tem))
     {
       *constptr = tem;
--- gcc/c/c-typeck.c.jj	2017-12-14 21:11:43.000000000 +0100
+++ gcc/c/c-typeck.c	2017-12-19 13:35:59.210142173 +0100
@@ -1177,9 +1177,9 @@  comptypes_internal (const_tree type1, co
 
 	/* Target types must match incl. qualifiers.  */
 	if (TREE_TYPE (t1) != TREE_TYPE (t2)
-	    && 0 == (val = comptypes_internal (TREE_TYPE (t1), TREE_TYPE (t2),
-					       enum_and_int_p,
-					       different_types_p)))
+	    && (val = comptypes_internal (TREE_TYPE (t1), TREE_TYPE (t2),
+					  enum_and_int_p,
+					  different_types_p)) == 0)
 	  return 0;
 
 	if (different_types_p != NULL
@@ -1662,8 +1662,8 @@  function_types_compatible_p (const_tree
 	 compare that with the other type's arglist.
 	 If they don't match, ask for a warning (but no error).  */
       if (TYPE_ACTUAL_ARG_TYPES (f1)
-	  && 1 != type_lists_compatible_p (args2, TYPE_ACTUAL_ARG_TYPES (f1),
-					   enum_and_int_p, different_types_p))
+	  && type_lists_compatible_p (args2, TYPE_ACTUAL_ARG_TYPES (f1),
+				      enum_and_int_p, different_types_p) != 1)
 	val = 2;
       return val;
     }
@@ -1672,8 +1672,8 @@  function_types_compatible_p (const_tree
       if (!self_promoting_args_p (args1))
 	return 0;
       if (TYPE_ACTUAL_ARG_TYPES (f2)
-	  && 1 != type_lists_compatible_p (args1, TYPE_ACTUAL_ARG_TYPES (f2),
-					   enum_and_int_p, different_types_p))
+	  && type_lists_compatible_p (args1, TYPE_ACTUAL_ARG_TYPES (f2),
+				      enum_and_int_p, different_types_p) != 1)
 	val = 2;
       return val;
     }
@@ -2121,8 +2121,8 @@  perform_integral_promotions (tree exp)
       && DECL_C_BIT_FIELD (TREE_OPERAND (exp, 1))
       /* If it's thinner than an int, promote it like a
 	 c_promoting_integer_type_p, otherwise leave it alone.  */
-      && 0 > compare_tree_int (DECL_SIZE (TREE_OPERAND (exp, 1)),
-			       TYPE_PRECISION (integer_type_node)))
+      && compare_tree_int (DECL_SIZE (TREE_OPERAND (exp, 1)),
+			   TYPE_PRECISION (integer_type_node)) < 0)
     return convert (integer_type_node, exp);
 
   if (c_promoting_integer_type_p (type))
@@ -7426,15 +7426,14 @@  digest_init (location_t init_loc, tree t
 	      /* Subtract the size of a single (possibly wide) character
 		 because it's ok to ignore the terminating null char
 		 that is counted in the length of the constant.  */
-	      if (0 > compare_tree_int (TYPE_SIZE_UNIT (type),
-					(len
-					 - (TYPE_PRECISION (typ1)
-					    / BITS_PER_UNIT))))
+	      if (compare_tree_int (TYPE_SIZE_UNIT (type),
+				    (len - (TYPE_PRECISION (typ1)
+					    / BITS_PER_UNIT))) < 0)
 		pedwarn_init (init_loc, 0,
 			      ("initializer-string for array of chars "
 			       "is too long"));
 	      else if (warn_cxx_compat
-		       && 0 > compare_tree_int (TYPE_SIZE_UNIT (type), len))
+		       && compare_tree_int (TYPE_SIZE_UNIT (type), len) < 0)
 		warning_at (init_loc, OPT_Wc___compat,
 			    ("initializer-string for array chars "
 			     "is too long for C++"));
--- gcc/c/c-decl.c.jj	2017-12-12 12:34:41.000000000 +0100
+++ gcc/c/c-decl.c	2017-12-19 13:34:25.951329424 +0100
@@ -5473,7 +5473,7 @@  check_bitfield_type_and_width (location_
 
   max_width = TYPE_PRECISION (*type);
 
-  if (0 < compare_tree_int (*width, max_width))
+  if (compare_tree_int (*width, max_width) > 0)
     {
       error_at (loc, "width of %qs exceeds its type", name);
       w = max_width;
--- gcc/final.c.jj	2017-12-13 19:47:10.000000000 +0100
+++ gcc/final.c	2017-12-19 14:34:26.496633423 +0100
@@ -4513,11 +4513,9 @@  leaf_renumber_regs_insn (rtx in_rtx)
 	break;
 
       case 'E':
-	if (NULL != XVEC (in_rtx, i))
-	  {
-	    for (j = 0; j < XVECLEN (in_rtx, i); j++)
-	      leaf_renumber_regs_insn (XVECEXP (in_rtx, i, j));
-	  }
+	if (XVEC (in_rtx, i) != NULL)
+	  for (j = 0; j < XVECLEN (in_rtx, i); j++)
+	    leaf_renumber_regs_insn (XVECEXP (in_rtx, i, j));
 	break;
 
       case 'S':
--- gcc/cfgrtl.c.jj	2017-12-12 09:48:28.000000000 +0100
+++ gcc/cfgrtl.c	2017-12-19 14:33:15.820530493 +0100
@@ -2194,7 +2194,7 @@  print_rtl_with_bb (FILE *outf, const rtx
 	    }
 	}
 
-      for (tmp_rtx = rtx_first; NULL != tmp_rtx; tmp_rtx = NEXT_INSN (tmp_rtx))
+      for (tmp_rtx = rtx_first; tmp_rtx != NULL; tmp_rtx = NEXT_INSN (tmp_rtx))
 	{
 	  if (flags & TDF_BLOCKS)
 	    {
--- gcc/genhooks.c.jj	2017-01-01 12:45:36.000000000 +0100
+++ gcc/genhooks.c	2017-12-19 13:24:28.477936802 +0100
@@ -323,7 +323,7 @@  emit_init_macros (const char *docname)
 		}
 	      continue;
 	    }
-	  if (0 == print_nest)
+	  if (print_nest == 0)
 	    {
 	      /* Output default definitions of target hooks.  */
 	      printf ("#ifndef %s\n#define %s %s\n#endif\n",
--- gcc/jit/jit-playback.c.jj	2017-11-28 09:40:56.000000000 +0100
+++ gcc/jit/jit-playback.c	2017-12-19 14:36:53.385769005 +0100
@@ -211,10 +211,9 @@  playback::context::
 get_type (enum gcc_jit_types type_)
 {
   tree type_node = get_tree_node_for_type (type_);
-  if (NULL == type_node)
+  if (type_node == NULL)
     {
-      add_error (NULL,
-		 "unrecognized (enum gcc_jit_types) value: %i", type_);
+      add_error (NULL, "unrecognized (enum gcc_jit_types) value: %i", type_);
       return NULL;
     }
 
@@ -2049,7 +2048,7 @@  playback::compile_to_file::copy_file (co
   /* Use stat on the filedescriptor to get the mode,
      so that we can copy it over (in particular, the
      "executable" bits).  */
-  if (-1 == fstat (fileno (f_in), &stat_buf))
+  if (fstat (fileno (f_in), &stat_buf) == -1)
     {
       add_error (NULL,
 		 "unable to fstat %s: %s",
@@ -2113,7 +2112,7 @@  playback::compile_to_file::copy_file (co
 
   /* Set the permissions of the copy to those of the original file,
      in particular the "executable" bits.  */
-  if (-1 == fchmod (fileno (f_out), stat_buf.st_mode))
+  if (fchmod (fileno (f_out), stat_buf.st_mode) == -1)
     add_error (NULL,
 	       "error setting mode of %s: %s",
 	       dst_path,
@@ -2139,7 +2138,7 @@  playback::context::acquire_mutex ()
   /* Acquire the big GCC mutex. */
   JIT_LOG_SCOPE (get_logger ());
   pthread_mutex_lock (&jit_mutex);
-  gcc_assert (NULL == active_playback_ctxt);
+  gcc_assert (active_playback_ctxt == NULL);
   active_playback_ctxt = this;
 }
 
--- gcc/jit/libgccjit.c.jj	2017-11-23 21:13:27.000000000 +0100
+++ gcc/jit/libgccjit.c	2017-12-19 14:38:05.526853341 +0100
@@ -592,7 +592,7 @@  gcc_jit_context_new_struct_type (gcc_jit
     {
       RETURN_NULL_IF_FAIL (fields[i], ctxt, loc, "NULL field ptr");
       RETURN_NULL_IF_FAIL_PRINTF2 (
-	NULL == fields[i]->get_container (),
+	fields[i]->get_container () == NULL,
 	ctxt, loc,
 	"%s is already a field of %s",
 	fields[i]->get_debug_string (),
@@ -657,7 +657,7 @@  gcc_jit_struct_set_fields (gcc_jit_struc
   JIT_LOG_FUNC (ctxt->get_logger ());
   /* LOC can be NULL.  */
   RETURN_IF_FAIL_PRINTF1 (
-    NULL == struct_type->get_fields (), ctxt, loc,
+    struct_type->get_fields () == NULL, ctxt, loc,
     "%s already has had fields set",
     struct_type->get_debug_string ());
   if (num_fields)
@@ -671,7 +671,7 @@  gcc_jit_struct_set_fields (gcc_jit_struc
 	struct_type->get_debug_string (),
 	i);
       RETURN_IF_FAIL_PRINTF2 (
-	NULL == fields[i]->get_container (),
+	fields[i]->get_container () == NULL,
 	ctxt, loc,
 	"%s is already a field of %s",
 	fields[i]->get_debug_string (),
@@ -706,7 +706,7 @@  gcc_jit_context_new_union_type (gcc_jit_
     {
       RETURN_NULL_IF_FAIL (fields[i], ctxt, loc, "NULL field ptr");
       RETURN_NULL_IF_FAIL_PRINTF2 (
-	NULL == fields[i]->get_container (),
+	fields[i]->get_container () == NULL,
 	ctxt, loc,
 	"%s is already a field of %s",
 	fields[i]->get_debug_string (),
@@ -880,7 +880,7 @@  gcc_jit_context_new_function (gcc_jit_co
 	ctxt, loc,
 	"NULL parameter %i creating function %s", i, name);
       RETURN_NULL_IF_FAIL_PRINTF5 (
-	(NULL == params[i]->get_scope ()),
+	params[i]->get_scope () == NULL,
 	ctxt, loc,
 	"parameter %i \"%s\""
 	" (type: %s)"
@@ -2925,7 +2925,7 @@  gcc_jit_timer_pop (gcc_jit_timer *timer,
 	 item_name);
 
       RETURN_IF_FAIL_PRINTF2
-	(0 == strcmp (item_name, top_item_name), NULL, NULL,
+	(strcmp (item_name, top_item_name) == 0, NULL, NULL,
 	 "mismatching item_name:"
 	 " top of timing stack: \"%s\","
 	 " attempting to pop: \"%s\"",
--- gcc/jit/jit-builtins.c.jj	2017-09-14 22:15:10.000000000 +0200
+++ gcc/jit/jit-builtins.c	2017-12-19 13:55:55.795930652 +0100
@@ -76,24 +76,20 @@  matches_builtin (const char *in_name,
   if (debug)
     fprintf (stderr, "seen builtin: %s\n", bd.name);
 
-  if (0 == strcmp (bd.name, in_name))
-    {
-      return true;
-    }
+  if (strcmp (bd.name, in_name) == 0)
+    return true;
 
   if (bd.both_p)
     {
       /* Then the macros in builtins.def gave a "__builtin_"
 	 prefix to bd.name, but we should also recognize the form
 	 without the prefix.  */
-      gcc_assert (0 == strncmp (bd.name, prefix, prefix_len));
+      gcc_assert (strncmp (bd.name, prefix, prefix_len) == 0);
       if (debug)
 	fprintf (stderr, "testing without prefix as: %s\n",
 		 bd.name + prefix_len);
-      if (0 == strcmp (bd.name + prefix_len, in_name))
-	{
-	  return true;
-	}
+      if (strcmp (bd.name + prefix_len, in_name) == 0)
+	return true;
     }
 
   return false;
--- gcc/jit/jit-recording.c.jj	2017-11-30 23:46:35.000000000 +0100
+++ gcc/jit/jit-recording.c	2017-12-19 14:37:22.591398307 +0100
@@ -2987,7 +2987,7 @@  recording::compound_type::set_fields (lo
 				      field **field_array)
 {
   m_loc = loc;
-  gcc_assert (NULL == m_fields);
+  gcc_assert (m_fields == NULL);
 
   m_fields = new fields (this, num_fields, field_array);
   m_ctxt->record (m_fields);
@@ -3182,7 +3182,7 @@  void
 recording::fields::write_reproducer (reproducer &r)
 {
   if (m_struct_or_union)
-    if (NULL == m_struct_or_union->dyn_cast_struct ())
+    if (m_struct_or_union->dyn_cast_struct () == NULL)
       /* We have a union; the fields have already been written by
 	 union::write_reproducer.  */
       return;
@@ -3370,7 +3370,7 @@  void
 recording::rvalue::set_scope (function *scope)
 {
   gcc_assert (scope);
-  gcc_assert (NULL == m_scope);
+  gcc_assert (m_scope == NULL);
   m_scope = scope;
 }
 
@@ -3750,7 +3750,7 @@  recording::function::validate ()
   /* Complain about empty functions with non-void return type.  */
   if (m_kind != GCC_JIT_FUNCTION_IMPORTED
       && m_return_type != m_ctxt->get_type (GCC_JIT_TYPE_VOID))
-    if (0 == m_blocks.length ())
+    if (m_blocks.length () == 0)
       m_ctxt->add_error (m_loc,
 			 "function %s returns non-void (type: %s)"
 			 " but has no blocks",
@@ -3771,7 +3771,7 @@  recording::function::validate ()
   /* Check that all blocks are reachable.  */
   if (!m_ctxt->get_inner_bool_option
         (INNER_BOOL_OPTION_ALLOW_UNREACHABLE_BLOCKS)
-      && m_blocks.length () > 0 && 0 == num_invalid_blocks)
+      && m_blocks.length () > 0 && num_invalid_blocks == 0)
     {
       /* Iteratively walk the graph of blocks, marking their "m_is_reachable"
 	 flag, starting at the initial block.  */
--- gcc/jit/jit-logging.c.jj	2017-01-01 12:45:46.000000000 +0100
+++ gcc/jit/jit-logging.c	2017-12-19 13:56:14.113698094 +0100
@@ -79,7 +79,7 @@  logger::decref (const char *reason)
   if (m_log_refcount_changes)
     log ("%s: reason: %s refcount now %i",
 	 __PRETTY_FUNCTION__, reason, m_refcount);
-  if (0 == m_refcount)
+  if (m_refcount == 0)
     delete this;
 }
 
--- gcc/poly-int.h.jj	2017-12-14 09:10:45.000000000 +0100
+++ gcc/poly-int.h	2017-12-19 13:27:10.811869751 +0100
@@ -1288,7 +1288,7 @@  maybe_ne (const Ca &a, const poly_int_po
 {
   if (N >= 2)
     for (unsigned int i = 1; i < N; i++)
-      if (0 != b.coeffs[i])
+      if (b.coeffs[i] != 0)
 	return true;
   return a != b.coeffs[0];
 }
@@ -1337,7 +1337,7 @@  maybe_le (const Ca &a, const poly_int_po
 {
   if (N >= 2)
     for (unsigned int i = 1; i < N; i++)
-      if (0 < b.coeffs[i])
+      if (b.coeffs[i] > 0)
 	return true;
   return a <= b.coeffs[0];
 }
@@ -1379,7 +1379,7 @@  maybe_lt (const Ca &a, const poly_int_po
 {
   if (N >= 2)
     for (unsigned int i = 1; i < N; i++)
-      if (0 < b.coeffs[i])
+      if (b.coeffs[i] > 0)
 	return true;
   return a < b.coeffs[0];
 }
--- gcc/c-family/known-headers.cc.jj	2017-11-21 08:43:49.000000000 +0100
+++ gcc/c-family/known-headers.cc	2017-12-19 13:57:46.749521970 +0100
@@ -117,7 +117,7 @@  get_stdlib_header_for_name (const char *
   };
   const size_t num_hints = sizeof (hints) / sizeof (hints[0]);
   for (size_t i = 0; i < num_hints; i++)
-    if (0 == strcmp (name, hints[i].name))
+    if (strcmp (name, hints[i].name) == 0)
       return hints[i].header[lib];
   return NULL;
 }
--- gcc/tree-data-ref.c.jj	2017-10-13 09:09:31.000000000 +0200
+++ gcc/tree-data-ref.c	2017-12-19 13:32:43.137638316 +0100
@@ -2665,7 +2665,7 @@  conflict_fn (unsigned n, ...)
   conflict_function *ret = XCNEW (conflict_function);
   va_list ap;
 
-  gcc_assert (0 < n && n <= MAX_DIM);
+  gcc_assert (n > 0 && n <= MAX_DIM);
   va_start (ap, n);
 
   ret->n = n;
--- gcc/selftest.c.jj	2017-12-12 09:48:26.000000000 +0100
+++ gcc/selftest.c	2017-12-19 13:31:08.765839806 +0100
@@ -79,7 +79,7 @@  assert_streq (const location &loc,
   if (val_actual == NULL)
     fail_formatted (loc, "ASSERT_STREQ (%s, %s) expected=\"%s\" actual=NULL",
 		    desc_expected, desc_actual, val_expected);
-  if (0 == strcmp (val_expected, val_actual))
+  if (strcmp (val_expected, val_actual) == 0)
     pass (loc, "ASSERT_STREQ");
   else
     fail_formatted (loc, "ASSERT_STREQ (%s, %s) expected=\"%s\" actual=\"%s\"",
--- gcc/expr.c.jj	2017-12-18 14:57:20.000000000 +0100
+++ gcc/expr.c	2017-12-19 13:17:22.300363459 +0100
@@ -6123,8 +6123,8 @@  store_constructor_field (rtx target, uns
 	target
 	  = adjust_address (target,
 			    GET_MODE (target) == BLKmode
-			    || 0 != (bitpos
-				     % GET_MODE_ALIGNMENT (GET_MODE (target)))
+			    || (bitpos
+				% GET_MODE_ALIGNMENT (GET_MODE (target))) != 0
 			    ? BLKmode : VOIDmode, bitpos / BITS_PER_UNIT);
 
 
@@ -10704,8 +10704,8 @@  expand_expr_real_1 (tree exp, rtx target
 	    || (bitsize >= 0
 		&& TYPE_SIZE (TREE_TYPE (exp))
 		&& TREE_CODE (TYPE_SIZE (TREE_TYPE (exp))) == INTEGER_CST
-		&& 0 != compare_tree_int (TYPE_SIZE (TREE_TYPE (exp)),
-					  bitsize)))
+		&& compare_tree_int (TYPE_SIZE (TREE_TYPE (exp)),
+				     bitsize) != 0))
 	  {
 	    machine_mode ext_mode = mode;
 
--- gcc/fold-const.c.jj	2017-12-18 14:57:20.000000000 +0100
+++ gcc/fold-const.c	2017-12-19 13:22:37.233353315 +0100
@@ -5409,10 +5409,10 @@  fold_range_test (location_t loc, enum tr
   if ((lhs == 0 || rhs == 0 || operand_equal_p (lhs, rhs, 0))
       && merge_ranges (&in_p, &low, &high, in0_p, low0, high0,
 		       in1_p, low1, high1)
-      && 0 != (tem = (build_range_check (loc, type,
-					 lhs != 0 ? lhs
-					 : rhs != 0 ? rhs : integer_zero_node,
-					 in_p, low, high))))
+      && (tem = (build_range_check (loc, type,
+				    lhs != 0 ? lhs
+				    : rhs != 0 ? rhs : integer_zero_node,
+				    in_p, low, high))) != 0)
     {
       if (strict_overflow_p)
 	fold_overflow_warning (warnmsg, WARN_STRICT_OVERFLOW_COMPARISON);
@@ -5442,12 +5442,12 @@  fold_range_test (location_t loc, enum tr
 	{
 	  tree common = save_expr (lhs);
 
-	  if (0 != (lhs = build_range_check (loc, type, common,
-					     or_op ? ! in0_p : in0_p,
-					     low0, high0))
-	      && (0 != (rhs = build_range_check (loc, type, common,
-						 or_op ? ! in1_p : in1_p,
-						 low1, high1))))
+	  if ((lhs = build_range_check (loc, type, common,
+					or_op ? ! in0_p : in0_p,
+					low0, high0)) != 0
+	      && (rhs = build_range_check (loc, type, common,
+					   or_op ? ! in1_p : in1_p,
+					   low1, high1)) != 0)
 	    {
 	      if (strict_overflow_p)
 		fold_overflow_warning (warnmsg,
@@ -6146,10 +6146,9 @@  extract_muldiv_1 (tree t, tree c, enum t
       if ((t2 = fold_convert (TREE_TYPE (op0), c)) != 0
 	  && TREE_CODE (t2) == INTEGER_CST
 	  && !TREE_OVERFLOW (t2)
-	  && (0 != (t1 = extract_muldiv (op0, t2, code,
-					 code == MULT_EXPR
-					 ? ctype : NULL_TREE,
-					 strict_overflow_p))))
+	  && (t1 = extract_muldiv (op0, t2, code,
+				   code == MULT_EXPR ? ctype : NULL_TREE,
+				   strict_overflow_p)) != 0)
 	return t1;
       break;
 
@@ -6217,10 +6216,9 @@  extract_muldiv_1 (tree t, tree c, enum t
 	     so check for it explicitly here.  */
 	  && wi::gtu_p (TYPE_PRECISION (TREE_TYPE (size_one_node)),
 			wi::to_wide (op1))
-	  && 0 != (t1 = fold_convert (ctype,
-				      const_binop (LSHIFT_EXPR,
-						   size_one_node,
-						   op1)))
+	  && (t1 = fold_convert (ctype,
+				 const_binop (LSHIFT_EXPR, size_one_node,
+					      op1))) != 0
 	  && !TREE_OVERFLOW (t1))
 	return extract_muldiv (build2 (tcode == LSHIFT_EXPR
 				       ? MULT_EXPR : FLOOR_DIV_EXPR,
@@ -8040,7 +8038,7 @@  fold_truth_andor (location_t loc, enum t
     }
 
   /* See if we can build a range comparison.  */
-  if (0 != (tem = fold_range_test (loc, code, type, op0, op1)))
+  if ((tem = fold_range_test (loc, code, type, op0, op1)) != 0)
     return tem;
 
   if ((code == TRUTH_ANDIF_EXPR && TREE_CODE (arg0) == TRUTH_ORIF_EXPR)
@@ -8063,8 +8061,8 @@  fold_truth_andor (location_t loc, enum t
      lhs is another similar operation, try to merge its rhs with our
      rhs.  Then try to merge our lhs and rhs.  */
   if (TREE_CODE (arg0) == code
-      && 0 != (tem = fold_truth_andor_1 (loc, code, type,
-					 TREE_OPERAND (arg0, 1), arg1)))
+      && (tem = fold_truth_andor_1 (loc, code, type,
+				    TREE_OPERAND (arg0, 1), arg1)) != 0)
     return fold_build2_loc (loc, code, type, TREE_OPERAND (arg0, 0), tem);
 
   if ((tem = fold_truth_andor_1 (loc, code, type, arg0, arg1)) != 0)
@@ -9526,8 +9524,8 @@  fold_binary_loc (location_t loc, enum tr
 		STRIP_NOPS (tree110);
 		STRIP_NOPS (tree111);
 		if (TREE_CODE (tree110) == INTEGER_CST
-		    && 0 == compare_tree_int (tree110,
-					      element_precision (rtype))
+		    && compare_tree_int (tree110,
+					 element_precision (rtype)) == 0
 		    && operand_equal_p (tree01, tree111, 0))
 		  {
 		    tem = build2_loc (loc, (code0 == LSHIFT_EXPR
@@ -9548,8 +9546,8 @@  fold_binary_loc (location_t loc, enum tr
 		STRIP_NOPS (tree111);
 		if (TREE_CODE (tree110) == NEGATE_EXPR
 		    && TREE_CODE (tree111) == INTEGER_CST
-		    && 0 == compare_tree_int (tree111,
-					      element_precision (rtype) - 1)
+		    && compare_tree_int (tree111,
+					 element_precision (rtype) - 1) == 0
 		    && operand_equal_p (tree01, TREE_OPERAND (tree110, 0), 0))
 		  {
 		    tem = build2_loc (loc, (code0 == LSHIFT_EXPR
@@ -9657,12 +9655,12 @@  fold_binary_loc (location_t loc, enum tr
 	  /* Only do something if we found more than two objects.  Otherwise,
 	     nothing has changed and we risk infinite recursion.  */
 	  if (ok
-	      && (2 < ((var0 != 0) + (var1 != 0)
-		       + (minus_var0 != 0) + (minus_var1 != 0)
-		       + (con0 != 0) + (con1 != 0)
-		       + (minus_con0 != 0) + (minus_con1 != 0)
-		       + (lit0 != 0) + (lit1 != 0)
-		       + (minus_lit0 != 0) + (minus_lit1 != 0))))
+	      && ((var0 != 0) + (var1 != 0)
+		  + (minus_var0 != 0) + (minus_var1 != 0)
+		  + (con0 != 0) + (con1 != 0)
+		  + (minus_con0 != 0) + (minus_con1 != 0)
+		  + (lit0 != 0) + (lit1 != 0)
+		  + (minus_lit0 != 0) + (minus_lit1 != 0)) > 2)
 	    {
 	      var0 = associate_trees (loc, var0, var1, code, atype);
 	      minus_var0 = associate_trees (loc, minus_var0, minus_var1,
@@ -9876,8 +9874,8 @@  fold_binary_loc (location_t loc, enum tr
 
 	  strict_overflow_p = false;
 	  if (TREE_CODE (arg1) == INTEGER_CST
-	      && 0 != (tem = extract_muldiv (op0, arg1, code, NULL_TREE,
-					     &strict_overflow_p)))
+	      && (tem = extract_muldiv (op0, arg1, code, NULL_TREE,
+					&strict_overflow_p)) != 0)
 	    {
 	      if (strict_overflow_p)
 		fold_overflow_warning (("assuming signed overflow does not "
@@ -10310,8 +10308,8 @@  fold_binary_loc (location_t loc, enum tr
 
       strict_overflow_p = false;
       if (TREE_CODE (arg1) == INTEGER_CST
-	  && 0 != (tem = extract_muldiv (op0, arg1, code, NULL_TREE,
-					 &strict_overflow_p)))
+	  && (tem = extract_muldiv (op0, arg1, code, NULL_TREE,
+				    &strict_overflow_p)) != 0)
 	{
 	  if (strict_overflow_p)
 	    fold_overflow_warning (("assuming signed overflow does not occur "
@@ -10328,8 +10326,8 @@  fold_binary_loc (location_t loc, enum tr
     case TRUNC_MOD_EXPR:
       strict_overflow_p = false;
       if (TREE_CODE (arg1) == INTEGER_CST
-	  && 0 != (tem = extract_muldiv (op0, arg1, code, NULL_TREE,
-					 &strict_overflow_p)))
+	  && (tem = extract_muldiv (op0, arg1, code, NULL_TREE,
+				    &strict_overflow_p)) != 0)
 	{
 	  if (strict_overflow_p)
 	    fold_overflow_warning (("assuming signed overflow does not occur "
@@ -10982,7 +10980,7 @@  fold_binary_loc (location_t loc, enum tr
 	  && TREE_CODE (arg1) == INTEGER_CST
 	  && TREE_CODE (arg0) == ABS_EXPR
 	  && ! TREE_SIDE_EFFECTS (arg0)
-	  && (0 != (tem = negate_expr (arg1)))
+	  && (tem = negate_expr (arg1)) != 0
 	  && TREE_CODE (tem) == INTEGER_CST
 	  && !TREE_OVERFLOW (tem))
 	return fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type,
@@ -12491,10 +12489,9 @@  multiple_of_p (tree type, const_tree top
 	     so check for it explicitly here.  */
 	  if (wi::gtu_p (TYPE_PRECISION (TREE_TYPE (size_one_node)),
 			 wi::to_wide (op1))
-	      && 0 != (t1 = fold_convert (type,
-					  const_binop (LSHIFT_EXPR,
-						       size_one_node,
-						       op1)))
+	      && (t1 = fold_convert (type,
+				     const_binop (LSHIFT_EXPR, size_one_node,
+						  op1))) != 0
 	      && !TREE_OVERFLOW (t1))
 	    return multiple_of_p (type, t1, bottom);
 	}
--- gcc/reload.c.jj	2017-09-15 17:10:57.000000000 +0200
+++ gcc/reload.c	2017-12-19 13:29:54.332787587 +0100
@@ -1532,8 +1532,8 @@  push_reload (rtx in, rtx out, rtx *inloc
 	 value for the incoming operand (same as outgoing one).  */
       if (rld[i].reg_rtx == out
 	  && (REG_P (in) || CONSTANT_P (in))
-	  && 0 != find_equiv_reg (in, this_insn, NO_REGS, REGNO (out),
-				  static_reload_reg_p, i, inmode))
+	  && find_equiv_reg (in, this_insn, NO_REGS, REGNO (out),
+			     static_reload_reg_p, i, inmode) != 0)
 	rld[i].in = out;
     }
 
@@ -6750,9 +6750,8 @@  find_equiv_reg (rtx goal, rtx_insn *insn
 			      && CONST_DOUBLE_AS_FLOAT_P (XEXP (tem, 0))
 			      && SCALAR_FLOAT_MODE_P (GET_MODE (XEXP (tem, 0)))
 			      && CONST_INT_P (goal)
-			      && 0 != (goaltry
-				       = operand_subword (XEXP (tem, 0), 0, 0,
-							  VOIDmode))
+			      && (goaltry = operand_subword (XEXP (tem, 0), 0,
+							     0, VOIDmode)) != 0
 			      && rtx_equal_p (goal, goaltry)
 			      && (valtry
 				  = operand_subword (SET_DEST (pat), 0, 0,
@@ -6764,8 +6763,8 @@  find_equiv_reg (rtx goal, rtx_insn *insn
 		      && CONST_DOUBLE_AS_FLOAT_P (XEXP (tem, 0))
 		      && SCALAR_FLOAT_MODE_P (GET_MODE (XEXP (tem, 0)))
 		      && CONST_INT_P (goal)
-		      && 0 != (goaltry = operand_subword (XEXP (tem, 0), 1, 0,
-							  VOIDmode))
+		      && (goaltry = operand_subword (XEXP (tem, 0), 1, 0,
+						     VOIDmode)) != 0
 		      && rtx_equal_p (goal, goaltry)
 		      && (valtry
 			  = operand_subword (SET_DEST (pat), 1, 0, VOIDmode))
--- gcc/et-forest.c.jj	2017-01-01 12:45:36.000000000 +0100
+++ gcc/et-forest.c	2017-12-19 13:15:17.689950164 +0100
@@ -671,7 +671,7 @@  et_nca (struct et_node *n1, struct et_no
       return NULL;
     }
 
-  if (0 < o2->depth)
+  if (o2->depth > 0)
     {
       om = o1;
       mn = o1->depth;
@@ -743,7 +743,7 @@  et_below (struct et_node *down, struct e
       return false;
     }
 
-  if (0 >= d->depth)
+  if (d->depth <= 0)
     return false;
 
   return !d->next || d->next->min + d->depth >= 0;
--- gcc/dbxout.c.jj	2017-12-12 09:48:21.000000000 +0100
+++ gcc/dbxout.c	2017-12-19 14:33:45.904148651 +0100
@@ -3043,7 +3043,7 @@  dbxout_symbol_location (tree decl, tree
 	  int offs;
 	  letter = 'G';
 	  code = N_GSYM;
-	  if (NULL != dbxout_common_check (decl, &offs))
+	  if (dbxout_common_check (decl, &offs) != NULL)
 	    {
 	      letter = 'V';
 	      addr = 0;
@@ -3097,7 +3097,7 @@  dbxout_symbol_location (tree decl, tree
 	    {
 	      int offs;
 	      code = N_LCSYM;
-	      if (NULL != dbxout_common_check (decl, &offs))
+	      if (dbxout_common_check (decl, &offs) != NULL)
 	        {
 		  addr = 0;
 		  number = offs;
@@ -3196,7 +3196,7 @@  dbxout_symbol_location (tree decl, tree
       int offs;
       code = N_LCSYM;
       letter = 'V';
-      if (NULL == dbxout_common_check (decl, &offs))
+      if (dbxout_common_check (decl, &offs) == NULL)
         addr = XEXP (XEXP (home, 0), 0);
       else
         {
--- gcc/reorg.c.jj	2017-11-22 23:34:45.000000000 +0100
+++ gcc/reorg.c	2017-12-19 13:30:13.328545707 +0100
@@ -3205,7 +3205,7 @@  relax_delay_slots (rtx_insn *first)
 	  && (other = prev_active_insn (insn)) != 0
 	  && any_condjump_p (other)
 	  && no_labels_between_p (other, insn)
-	  && 0 > mostly_true_jump (other))
+	  && mostly_true_jump (other) < 0)
 	{
 	  rtx other_target = JUMP_LABEL (other);
 	  target_label = JUMP_LABEL (insn);
--- gcc/dojump.c.jj	2017-09-01 09:26:27.000000000 +0200
+++ gcc/dojump.c	2017-12-19 13:12:52.522797001 +0100
@@ -1002,8 +1002,8 @@  do_compare_rtx_and_jump (rtx op0, rtx op
   do_pending_stack_adjust ();
 
   code = unsignedp ? unsigned_condition (code) : code;
-  if (0 != (tem = simplify_relational_operation (code, mode, VOIDmode,
-						 op0, op1)))
+  if ((tem = simplify_relational_operation (code, mode, VOIDmode,
+					    op0, op1)) != 0)
     {
       if (CONSTANT_P (tem))
 	{
--- gcc/fortran/scanner.c.jj	2017-10-17 09:24:04.000000000 +0200
+++ gcc/fortran/scanner.c	2017-12-19 13:55:05.404570408 +0100
@@ -2057,7 +2057,7 @@  preprocessor_line (gfc_char_t *c)
       c++;
       i = wide_atoi (c);
 
-      if (1 <= i && i <= 4)
+      if (i >= 1 && i <= 4)
 	flag[i] = true;
     }
 
--- gcc/fortran/dependency.c.jj	2017-01-01 12:45:47.000000000 +0100
+++ gcc/fortran/dependency.c	2017-12-19 14:35:52.124546575 +0100
@@ -1431,17 +1431,17 @@  check_section_vs_section (gfc_array_ref
   r_stride = r_ar->stride[n];
 
   /* If l_start is NULL take it from array specifier.  */
-  if (NULL == l_start && IS_ARRAY_EXPLICIT (l_ar->as))
+  if (l_start == NULL && IS_ARRAY_EXPLICIT (l_ar->as))
     l_start = l_ar->as->lower[n];
   /* If l_end is NULL take it from array specifier.  */
-  if (NULL == l_end && IS_ARRAY_EXPLICIT (l_ar->as))
+  if (l_end == NULL && IS_ARRAY_EXPLICIT (l_ar->as))
     l_end = l_ar->as->upper[n];
 
   /* If r_start is NULL take it from array specifier.  */
-  if (NULL == r_start && IS_ARRAY_EXPLICIT (r_ar->as))
+  if (r_start == NULL && IS_ARRAY_EXPLICIT (r_ar->as))
     r_start = r_ar->as->lower[n];
   /* If r_end is NULL take it from array specifier.  */
-  if (NULL == r_end && IS_ARRAY_EXPLICIT (r_ar->as))
+  if (r_end == NULL && IS_ARRAY_EXPLICIT (r_ar->as))
     r_end = r_ar->as->upper[n];
 
   /* Determine whether the l_stride is positive or negative.  */
--- gcc/fortran/trans-array.c.jj	2017-12-01 22:13:19.000000000 +0100
+++ gcc/fortran/trans-array.c	2017-12-19 14:36:24.045141417 +0100
@@ -7003,7 +7003,7 @@  gfc_conv_expr_descriptor (gfc_se *se, gf
 
   /* Special case: TRANSPOSE which needs no temporary.  */
   while (expr->expr_type == EXPR_FUNCTION && expr->value.function.isym
-      && NULL != (arg = gfc_get_noncopying_intrinsic_argument (expr)))
+	 && (arg = gfc_get_noncopying_intrinsic_argument (expr)) != NULL)
     {
       /* This is a call to transpose which has already been handled by the
 	 scalarizer, so that we just need to get its argument's descriptor.  */
--- gcc/gengtype-parse.c.jj	2017-01-01 12:45:35.000000000 +0100
+++ gcc/gengtype-parse.c	2017-12-19 13:24:08.554190497 +0100
@@ -948,9 +948,9 @@  type (options_p *optsp, bool nested)
 		advance ();
 		const char *basename = require (ID);
 		/* This may be either an access specifier, or the base name.  */
-		if (0 == strcmp (basename, "public")
-		    || 0 == strcmp (basename, "protected")
-		    || 0 == strcmp (basename, "private"))
+		if (strcmp (basename, "public") == 0
+		    || strcmp (basename, "protected") == 0
+		    || strcmp (basename, "private") == 0)
 		  basename = require (ID);
 		base_class = find_structure (basename, TYPE_STRUCT);
 		if (!base_class)
--- gcc/simplify-rtx.c.jj	2017-12-18 14:57:24.000000000 +0100
+++ gcc/simplify-rtx.c	2017-12-19 13:32:17.385966153 +0100
@@ -400,8 +400,8 @@  simplify_gen_ternary (enum rtx_code code
   rtx tem;
 
   /* If this simplifies, use it.  */
-  if (0 != (tem = simplify_ternary_operation (code, mode, op0_mode,
-					      op0, op1, op2)))
+  if ((tem = simplify_ternary_operation (code, mode, op0_mode,
+					 op0, op1, op2)) != 0)
     return tem;
 
   return gen_rtx_fmt_eee (code, mode, op0, op1, op2);
@@ -416,8 +416,8 @@  simplify_gen_relational (enum rtx_code c
 {
   rtx tem;
 
-  if (0 != (tem = simplify_relational_operation (code, mode, cmp_mode,
-						 op0, op1)))
+  if ((tem = simplify_relational_operation (code, mode, cmp_mode,
+					    op0, op1)) != 0)
     return tem;
 
   return gen_rtx_fmt_ee (code, mode, op0, op1);
@@ -5148,7 +5148,7 @@  simplify_const_relational_operation (enu
       && (code == EQ || code == NE)
       && ! ((REG_P (op0) || CONST_INT_P (trueop0))
 	    && (REG_P (op1) || CONST_INT_P (trueop1)))
-      && 0 != (tem = simplify_binary_operation (MINUS, mode, op0, op1))
+      && (tem = simplify_binary_operation (MINUS, mode, op0, op1)) != 0
       /* We cannot do this if tem is a nonzero address.  */
       && ! nonzero_address_p (tem))
     return simplify_const_relational_operation (signed_condition (code),
--- gcc/reload1.c.jj	2017-12-14 16:25:10.000000000 +0100
+++ gcc/reload1.c	2017-12-19 13:28:34.286806838 +0100
@@ -8006,8 +8006,8 @@  do_output_reload (struct insn_chain *cha
   /* Likewise for a SUBREG of an operand that dies.  */
   else if (GET_CODE (old) == SUBREG
 	   && REG_P (SUBREG_REG (old))
-	   && 0 != (note = find_reg_note (insn, REG_UNUSED,
-					  SUBREG_REG (old))))
+	   && (note = find_reg_note (insn, REG_UNUSED,
+				     SUBREG_REG (old))) != 0)
     {
       XEXP (note, 0) = gen_lowpart_common (GET_MODE (old), reg_rtx);
       return;
--- gcc/dumpfile.c.jj	2017-07-03 19:03:29.000000000 +0200
+++ gcc/dumpfile.c	2017-12-19 13:14:30.020557154 +0100
@@ -251,7 +251,7 @@  gcc::dump_manager::
 get_dump_file_info_by_switch (const char *swtch) const
 {
   for (unsigned i = 0; i < m_extra_dump_files_in_use; i++)
-    if (0 == strcmp (m_extra_dump_files[i].swtch, swtch))
+    if (strcmp (m_extra_dump_files[i].swtch, swtch) == 0)
       return &m_extra_dump_files[i];
 
   /* Not found.  */
--- gcc/gengtype.c.jj	2017-11-28 12:11:37.000000000 +0100
+++ gcc/gengtype.c	2017-12-19 13:23:41.764531619 +0100
@@ -671,7 +671,7 @@  type_for_name (const char *s)
          extern GTY(()) gcc::some_type *some_ptr;
      where the autogenerated functions will refer to simply "some_type",
      where they can be resolved into their namespace.  */
-  if (0 == strncmp (s, "gcc::", 5))
+  if (strncmp (s, "gcc::", 5) == 0)
     s += 5;
 
   for (p = typedefs; p != NULL; p = p->next)
--- gcc/gimple-ssa-sprintf.c.jj	2017-12-14 12:00:32.000000000 +0100
+++ gcc/gimple-ssa-sprintf.c	2017-12-19 12:19:10.975042433 +0100
@@ -2854,7 +2854,7 @@  format_directive (const sprintf_dom_walk
 
   if (!warned
       /* Only warn at level 2.  */
-      && 1 < warn_level
+      && warn_level > 1
       && (!minunder4k
 	  || (!maxunder4k && fmtres.range.max < HOST_WIDE_INT_MAX)))
     {
@@ -2902,7 +2902,7 @@  format_directive (const sprintf_dom_walk
       /* Warn for the likely output size at level 1.  */
       && (likelyximax
 	  /* But only warn for the maximum at level 2.  */
-	  || (1 < warn_level
+	  || (warn_level > 1
 	      && maxximax
 	      && fmtres.range.max < HOST_WIDE_INT_MAX)))
     {