| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16278 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* expmed.c (extract_bit_field): Don't make flag_force_mem disable
extzv for memory operands.
* cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
redundant conditional moves to single operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16129 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15816 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
appropriate in calls to gen_rtx().
* cse.c (cse_main): Likewise.
* emit-rtl.c (gen_label_rtx): Likewise.
* expr.c (init_expr_once): Likewise.
* haifa-sched.c (flush_pending_lists, sched_analyze_insn,
sched_analyze, init_rgn_data_dependences,
compute_block_backward_dependences): Likewise.
* sched.c (schedule_insns): Likewise.
* varasm.c (immed_double_const): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15630 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
Similarly for h1u and h1s.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15616 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
is derived from the sign bit of the low word.
Brought over from r5900 branch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15454 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* cse.c (cse_insn): Don't record BLKmode values.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15024 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.in (OBJS): Add alias.o
(alias.o): Add dependencies.
* alias.c: New file.
* sched.c: Remove alias analysis code. It lives in alias.c now.
(reg_last_uses_size): Declare.
(sched_analyze_2): Add new arguments to true_dependence.
(sched_analyze_insn): Use reg_last_uses_size instead of max_reg.
(schedule_block): Initialize reg_last_uses_size.
(schedule_insns): Always call init_alias_analysis.
* calls.c (expand_call): Note calls to malloc, calloc, and realloc;
mark return value from such functions as a pointer and keep track of
them for alias analysis. If a return value from a function is a
pointer, mark it as such.
* combine.c (distribute_notes): Handle REG_NOALIAS.
* cse.c (struct write_data): Delete. No longer needed.
(invalidate): Don't call set_nonvarying_address_components anymore.
Use true_dependence to decide if an entry should be removed from
the hash table.
(invalidate_memory): Remove WRITES argument, simplify appropriately.
Fix all callers.
(note_mem_written): Similarly for WRITE_PTR argument.
(invalidate_from_clobbers): Similarly for W argument.
(invalidate_for_call): Remove memory elements from the hash table.
(refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
(cse_rtx_varies_p): New function. Derived from old
cse_rtx_addr_varies_p.
(cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
Don't call note_mem_written anymore. Stack pushes invalidate the stack
pointer if PUSH_ROUNDING is defined. No longer need to call
cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
(skipped_writes_memory): Remove variable.
(invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
(invalidate_skipped_block): Simplify for new alias analysis code.
(cse_set_around_loop): Likewise.
(cse_main): Call init_alias_analysis.
* flags.h (flag_alias_check, flag_argument_noalias): Declare.
* toplev.c (flag_alias_check, flag_argument_noalias): Define.
(f_options): Add new alias checking arguments.
(main): Set flag_alias_check when optimizing.
* local_alloc (validate_equiv_mem_from_store): Add new arguments
to true_dependence.
(memref_referenced_p): Likewise.
* loop.c (NUM_STORES): Increase to 30.
(prescan_loop): Only non-constant calls set unknown_address_altered.
(invariant_p): Add new arguments to true_dependence.
(record_giv): Initialize unrolled and shared fields.
(emit_iv_add_mult): Call record_base_value as needed.
* loop.h (struct induction): Add unrolled and shared fields.
* unroll.c (unroll_loop): Call record_base_value as needed.
(copy_loop_body): Likewise.
(final_biv_value): Likewise.
(final_giv_value): Likewise.
(find_splittable_regs): Likewise. Only create one new pseudo
if we have multiple address GIVs that were combined with the same
dst_reg GIV. Note when a new register is created due to unrolling.
* rtl.c (reg_note_name): Add REG_NOALIAS.
* rtl.h (enum reg_note): Similarly.
(rtx_varies_p, may_trap_p, side_effects_p): Declare.
(volatile_refs_p, volatile_insn_p, remove_note): Likewise.
(note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
(true_dependence, read_dependence, anti_dependence): Likewise.
(output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
(mark_user_reg, mark_reg_pointer): Likewise.
jfc's alias analysis code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14768 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14625 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14367 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14325 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
| |
into a single structure.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14140 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
(COST): Use notreg_cost.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14075 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
REG_EQUIV note if DEST is set more than once.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14074 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
make sure not dealing with largest negative.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13953 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
fails to find a match.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13888 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
(clobber nil).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13618 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13549 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13302 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12788 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12775 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
the temp slot might be reused).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12562 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
AND address can alias scalars.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12417 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12390 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
where width is larger than HOST_BITS_PER_WIDE_INT, and upper most
bit is set. We can not generate a simple shift in this case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12238 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11864 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
note_mem_written, not before.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11786 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11765 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
(mem (scratch)).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11585 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10873 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10607 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
entries, irrespective of mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10556 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
constant to start instead of subtracting it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10426 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
(insert): Set instead of cse_jumps_altered.
(cse_main): Initialize it and return 1 if nonzero at end.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10368 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10366 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10303 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10289 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
two constant pseudo regs.
(cse_rtx_addr_varies_p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10220 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
REG_EQUAL note from insn if it mentions REG0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10169 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10127 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9959 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
Return next insn, not 0, if block ends in a barrier.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9916 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
requested mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9872 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9712 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9547 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
sign- or zero-extending addresses.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9333 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
they have the most significant bit set for the target.
(simplify_binary_operation): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9309 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
compare of A and B when the compare is unsigned.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9296 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9283 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
UNSIGNED_FLOAT and operand looks negative, can't simplify.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9081 138bc75d-0d04-0410-961f-82ee72b054a4
|