Commit 316fbf19 by Eric Christopher

darwin.md (load_macho_picbase): Use link register only.

2007-04-18  Eric Christopher  <echristo@apple.com>

        * 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.

From-SVN: r123960
parent 5083912d
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> 2007-04-18 Dirk Mueller <dmueller@suse.de>
...@@ -15,10 +19,10 @@ ...@@ -15,10 +19,10 @@
* tree-vect-analyze.c (vect_analyze_loop_form): Set loop->aux. * tree-vect-analyze.c (vect_analyze_loop_form): Set loop->aux.
* tree-vectorizer.h (NITERS_KNOWN_P): New. * 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. 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. dump print.
(vect_analyze_operations): Fix indenetation. Fix a comment. Fix a (vect_analyze_operations): Fix indenetation. Fix a comment. Fix a
print message. print message.
...@@ -163,7 +167,7 @@ ...@@ -163,7 +167,7 @@
(vect_transform_loop): Consider phis for vectorization. (vect_transform_loop): Consider phis for vectorization.
* tree-vect-analyze.c (vect_determine_vectorization_factor): Simplify * tree-vect-analyze.c (vect_determine_vectorization_factor): Simplify
condition. condition.
(analyze_operations): Call vectorizable_induction when analyzing phis. (analyze_operations): Call vectorizable_induction when analyzing phis.
Fix comment. Fix comment.
(vect_mark_stmts_to_be_vectorized): Remove redundant checks. (vect_mark_stmts_to_be_vectorized): Remove redundant checks.
(vect_mark_relevant): Include phis in relevance analysis. (vect_mark_relevant): Include phis in relevance analysis.
...@@ -256,7 +260,7 @@ ...@@ -256,7 +260,7 @@
* config/avr/avr.c (avr_arch_types): Rearranging array. * config/avr/avr.c (avr_arch_types): Rearranging array.
(enum avr_arch): Add. (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. numbers.
* config/avr/avr.h (LINK_SPEC): Simplify. * config/avr/avr.h (LINK_SPEC): Simplify.
...@@ -673,7 +677,7 @@ ...@@ -673,7 +677,7 @@
PR c++/31078 PR c++/31078
PR c++/31103 PR c++/31103
* c-common.c (c_build_qualified_type): Set canonical type * c-common.c (c_build_qualified_type): Set canonical type
appropriately. appropriately.
2007-04-12 Richard Guenther <rguenther@suse.de> 2007-04-12 Richard Guenther <rguenther@suse.de>
......
...@@ -239,15 +239,15 @@ Boston, MA 02110-1301, USA. */ ...@@ -239,15 +239,15 @@ Boston, MA 02110-1301, USA. */
"") "")
(define_expand "load_macho_picbase" (define_expand "load_macho_picbase"
[(set (match_operand 0 "" "") [(set (reg:SI 65)
(unspec [(match_operand 1 "" "")] (unspec [(match_operand 0 "" "")]
UNSPEC_LD_MPIC))] UNSPEC_LD_MPIC))]
"(DEFAULT_ABI == ABI_DARWIN) && flag_pic" "(DEFAULT_ABI == ABI_DARWIN) && flag_pic"
{ {
if (TARGET_32BIT) if (TARGET_32BIT)
emit_insn (gen_load_macho_picbase_si (operands[1])); emit_insn (gen_load_macho_picbase_si (operands[0]));
else else
emit_insn (gen_load_macho_picbase_di (operands[1])); emit_insn (gen_load_macho_picbase_di (operands[0]));
DONE; DONE;
}) })
...@@ -437,4 +437,3 @@ Boston, MA 02110-1301, USA. */ ...@@ -437,4 +437,3 @@ Boston, MA 02110-1301, USA. */
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "4")]) (set_attr "length" "4")])
...@@ -15160,7 +15160,7 @@ rs6000_emit_prologue (void) ...@@ -15160,7 +15160,7 @@ rs6000_emit_prologue (void)
if (!info->lr_save_p) if (!info->lr_save_p)
rs6000_maybe_dead (emit_move_insn (gen_rtx_REG (Pmode, 0), lr)); 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, insn = emit_move_insn (gen_rtx_REG (Pmode,
RS6000_PIC_OFFSET_TABLE_REGNUM), RS6000_PIC_OFFSET_TABLE_REGNUM),
......
...@@ -10559,7 +10559,8 @@ ...@@ -10559,7 +10559,8 @@
CODE_LABEL_NUMBER (operands[0])); CODE_LABEL_NUMBER (operands[0]));
tmplabrtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (tmplab)); 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)); emit_insn (gen_macho_correct_pic (picreg, picreg, picrtx, tmplabrtx));
} }
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment