-2007-04-18 Philippe De Muyter <phdm@macqel.be>
+2007-04-18 Eric Christopher <echristo@apple.com>
- * config/m68k/m68k.c (output_btst): Use `movew to ccr' when useful.
+ * config/rs6000/darwin.md (load_macho_picbase): Use link register
+ only. Update operands.
+ * config/rs6000/rs6000.c (rs6000_emit_prologue): Update caller.
+ * config/rs6000/rs6000.md (builtin_setjmp_receiver): Ditto. Move from
+ link register to pic register.
2007-04-18 Dirk Mueller <dmueller@suse.de>
* tree-vect-analyze.c (vect_analyze_loop_form): Set loop->aux.
* tree-vectorizer.h (NITERS_KNOWN_P): New.
- * tree-vect-analyze.c (vect_analyze_loop_form): Call NITERS_KNOWN_P
+ * tree-vect-analyze.c (vect_analyze_loop_form): Call NITERS_KNOWN_P
instead of LOOP_VINFO_INT_NITERS to avoid having to geneate loop_info.
- * tree-vect-analyze.c (vect_determine_vectorization_factor): Add
+ * tree-vect-analyze.c (vect_determine_vectorization_factor): Add
dump print.
(vect_analyze_operations): Fix indenetation. Fix a comment. Fix a
print message.
(vect_transform_loop): Consider phis for vectorization.
* tree-vect-analyze.c (vect_determine_vectorization_factor): Simplify
condition.
- (analyze_operations): Call vectorizable_induction when analyzing phis.
+ (analyze_operations): Call vectorizable_induction when analyzing phis.
Fix comment.
(vect_mark_stmts_to_be_vectorized): Remove redundant checks.
(vect_mark_relevant): Include phis in relevance analysis.
* config/avr/avr.c (avr_arch_types): Rearranging array.
(enum avr_arch): Add.
- (avr_mcu_types): Use avr_arch enumeration constants instead of
+ (avr_mcu_types): Use avr_arch enumeration constants instead of
numbers.
* config/avr/avr.h (LINK_SPEC): Simplify.
PR c++/31078
PR c++/31103
* c-common.c (c_build_qualified_type): Set canonical type
- appropriately.
+ appropriately.
2007-04-12 Richard Guenther <rguenther@suse.de>
"")
(define_expand "load_macho_picbase"
- [(set (match_operand 0 "" "")
- (unspec [(match_operand 1 "" "")]
+ [(set (reg:SI 65)
+ (unspec [(match_operand 0 "" "")]
UNSPEC_LD_MPIC))]
"(DEFAULT_ABI == ABI_DARWIN) && flag_pic"
{
if (TARGET_32BIT)
- emit_insn (gen_load_macho_picbase_si (operands[1]));
+ emit_insn (gen_load_macho_picbase_si (operands[0]));
else
- emit_insn (gen_load_macho_picbase_di (operands[1]));
+ emit_insn (gen_load_macho_picbase_di (operands[0]));
DONE;
})
}"
[(set_attr "type" "branch")
(set_attr "length" "4")])
-
if (!info->lr_save_p)
rs6000_maybe_dead (emit_move_insn (gen_rtx_REG (Pmode, 0), lr));
- rs6000_maybe_dead (emit_insn (gen_load_macho_picbase (lr, src)));
+ rs6000_maybe_dead (emit_insn (gen_load_macho_picbase (src)));
insn = emit_move_insn (gen_rtx_REG (Pmode,
RS6000_PIC_OFFSET_TABLE_REGNUM),
CODE_LABEL_NUMBER (operands[0]));
tmplabrtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (tmplab));
- emit_insn (gen_load_macho_picbase (picreg, tmplabrtx));
+ emit_insn (gen_load_macho_picbase (tmplabrtx));
+ emit_move_insn (picreg, gen_rtx_REG (Pmode, LINK_REGISTER_REGNUM));
emit_insn (gen_macho_correct_pic (picreg, picreg, picrtx, tmplabrtx));
}
else