+2007-10-15 Alexandre Oliva <aoliva@redhat.com>
+
+ PR middle-end/33706
+ * tree-inline.c (copy_bb): Use bsi_replace to replace a
+ __builtin_va_arg_pack-containing call stmt.
+
+2007-10-15 Razya Ladelsky <razya@il.ibm.com>
+
+ * matrix-reorg.c (gate_matrix_reorg): Don't comment out whole
+ program flag.
+
+2007-10-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/33619
+ * tree-ssa-ter.c (is_replaceable_p): Return false for all
+ calls.
+
+2007-10-15 David Edelsohn <edelsohn@gnu.org>
+
+ * config.gcc (powerpc-ibm-aix5*): Install altivec.h.
+
+2007-10-15 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (extract_array_ref): Remove.
+ (fold_comparison): Handle POINTER_PLUS_EXPR with the
+ generic address expression comparison folding. Remove
+ the folding that used extract_array_ref.
+
+2007-10-15 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ PR target/33133
+ * haifa-sched.c (process_insn_forw_deps_be_in_spec): Check if
+ speculation type of insn can be changed before trying to do that.
+
+2007-10-15 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * dse.c (struct insn_info): Add 'frame_read' field.
+ (scan_insn): For the call to a const function, set frame_read if
+ reload has been run.
+ If the insn reads the frame, kill the frame related stores.
+ (scan_reads_nospill): Likewise.
+
+2007-10-14 Jason Merrill <jason@redhat.com>
+
+ * tree-eh.c (optimize_double_finally): Don't assume that the
+ cleanup we're duplicating is only one statement.
+
+2007-10-14 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/fixed-bit.c, config/i386/cpuid.h, config/i386/i386.c,
+ config/i386/i386.md, config/i386/sse.md, function.c, jump.c,
+ modulo-sched.c, ra-conflict.c, toplev.c, tree-eh.c, tree-sra.c,
+ tree-ssa-dse.c, tree-vect-analyze.c, tree-vect-patterns.c,
+ tree-vect-transform.c: Fix comment typos.
+ * doc/extend.texi: Fix a typo.
+
+ * c-common.h: Remove the prototype for c_expand_body.
+ * c-tree.h: Remove the prototype for c_disregard_inline_limits.
+ * tree.h: Remove the prototype for fold_build_call_expr.
+
+ * c-objc-common.h (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN):
+ Remove.
+ * c-tree.h: Remove the prototype for c_cannot_inline_tree_fn.
+
+2007-10-13 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/aix53.h: New file.
+ * config/rs6000/aix{41,43,51,52}.h (TARGET_ALTIVEC): Define to 0.
+ (TARGET_ALTIVEC_ABI): Same.
+ * config/rs6000/aix.h (TARGET_ALTIVEC): Delete.
+ (TARGET_ALTIVEC_ABI): Delete.
+ * config.gcc (powerpc-ibm-aix5*): Rename to aix5.2. Add new
+ stanza defaulting to aix5.3.
+
+2007-10-12 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/i386/i386.md (SI_REG, DI_REG): New constants.
+ (strmov): Use defined constants.
+ (cmpstrnsi): Likewise.
+ * config/i386/i386.c (decide_alg): Use defined constants.
+ (ix86_expand_strlen): Likewise.
+
+2007-10-12 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * dse.c (find_shift_sequence): Reinstate "<= UNITS_PER_WORD" condition.
+ * var-tracking.c (micro_operation_def): Update comment on u.loc.
+ (mode_for_reg_attrs, var_lowpart): New functions.
+ (add_uses): Consider recording a lowpart of LOC for MO_USE.
+ (add_stores): Likewise MO_SET and MO_COPY. If the source of a set
+ or copy is known, set LOC to the SET that performs the set, instead
+ of the destination.
+ (find_src_status, find_src_set_src): Remove LOC parameter.
+ Replace INSN with the source value.
+ (compute_bb_dataflow, emit_notes_in_bb): Check for a SET u.loc when
+ handling MO_SET and MO_COPY. Update the calls to find_src_status
+ and find_src_set_src.
+
+2007-10-12 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR 11001
+ * config/i386/i386.md (strmov): Check for esi and edi usage.
+ * config/i386/i386.c (decide_alg): Check whether we can use a
+ rep prefix and adjust algorithm choice accordingly.
+ (ix86_expand_strlen): Check for eax, ecx, and edi usage.
+
+2007-10-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * config/c4x/c4x.md (mulqi3, mulhi3): Use optab_libfunc.
+
+2007-10-12 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * global.c (build_insn_chain): Formatting fixes.
+
+2007-10-12 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-forwprop.c (forward_propagate_into_cond): For
+ combining both operands require either both have single uses
+ or combining to a constant.
+
+2007-10-12 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/26198
+ * tree-ssa-forwprop.c (can_propagate_from): Do not propagate from
+ a rhs with side-effects or which is a load.
+ (forward_propagate_into_cond): Also try combining both operands.
+
+2007-10-12 Uros Bizjak <ubizjak@gmail.com>
+
+ PR tree-optimization/33742
+ * tree-vect-transform.c (vectorizable_operation): Return false
+ if get_vectype_for_scalar_type for scalar_dest can't be determined.
+ (vectorizable_call): Same for rhs_type and lhs_type.
+
+2007-10-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/33645
+ * tree-ssa-live.c (mark_all_vars_used): Add data argument,
+ pass it to walk_tree.
+ (mark_all_vars_used_1): Pass data through to mark_all_vars_used.
+ When calling set_is_used on a VAR_DECL, if data is not NULL and
+ its DECL_UID is in the bitmap, call mark_all_vars_used on its
+ DECL_INITIAL after clearing the bit in bitmap.
+ (remove_unused_locals): Adjust mark_all_vars_used callers.
+ Instead of removing unused global vars from unexpanded_var_list
+ immediately record them in bitmap, call mark_all_vars_used on
+ all used global vars from unexpanded_var_list and only purge
+ global vars that weren't found used even during that step.
+
+2007-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * gthr-posix.h (__gthread_active_init): Create detached instead of
+ joinable thread when testing whether threads are active on hppa-hpux.
+ * gthr-posix95.h (__gthread_active_init): Likewise.
+
+2007-10-11 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ PR middle-end/33676
+ * global.c (build_insn_chain): Include insn that occur between
+ basic blocks.
+
+2007-10-11 Tom Tromey <tromey@redhat.com>
+
+ * gengtype-yacc.y: Delete.
+
+2007-10-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (AX_REG, DX_REG, CX_REG): New constants.
+ * config/i386/i386.c (ix86_function_arg_regno_p, function_arg_32,
+ function_value_32, function_value_64, function_value_ms_64,
+ setup_incoming_varargs_64, ix86_expand_prologue, ix86_expand_call,
+ legitimize_tls_address, x86_this_parameter, x86_output_mi_thunk):
+ Use new constants.
+
+2007-10-11 Richard Guenther <rguenther@suse.de>
+
+ * gcse.c (hash_scan_set): If the next nonnote insn is in
+ a different basic block insert the set.
+
+2007-10-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/33724
+ * tree-cfg.c (one_pointer_to_useless_type_conversion_p): New function.
+ (verify_gimple_expr): Use it to verify pointer-to types for
+ ADDR_EXPRs.
+
+2007-10-11 Richard Guenther <rguenther@suse.de>
+
+ PR c/33726
+ * c-typeck.c (build_array_ref): Do not strip qualifiers from
+ the array element type.
+
+2007-10-11 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR rtl-optimization/33638
+ * dse.c (struct insn_info): Remove 'stack_read' field,
+ add 'stack_pointer_based' field.
+ (record_store): For a store with non-constant base, record
+ whether it is stack pointer based.
+ (scan_insn): For the call to a const function, remove stack
+ pointer based stores from the list of local active stores.
+ (scan_reads_nospill): Delete code dealing with const functions.
+
+2007-10-10 Peter Bergner <bergner@vnet.ibm.com>
+
+ * ra-conflict.c (partial_bitnum, max_bitnum): Change type of variables
+ to HOST_WIDE_INT.
+ (conflict_p, set_conflict, set_conflicts): Likewise.
+ * global.c (global_alloc): Likewise.
+ * ra.h: Update prototypes.
+
+2007-10-10 Wolfgang Gellerich <gellerich@de.ibm.com>
+
+ * opth-gen.awk: Fixed generation of comment stating the origin
+ of options.h
+
+2007-10-10 Kazu Hirata <kazu@codesourcery.com>
+
+ Revert:
+ 2007-10-09 Kazu Hirata <kazu@codesourcery.com>
+ * longlong.h (count_leading_zeros): Replace '{' and '}' with '%{'
+ and '%}', respectively.
+
+ Revert:
+ 2007-10-09 Kazu Hirata <kazu@codesourcery.com>
+ * config/m68k/m68k.c (print_operand): Handle '{' and '}'.
+ * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '{'
+ and '}'.
+ * config/m68k/m68k.md: Replace '{' with '%{' where '{' is
+ meant to be output.
+
+ Revert:
+ 2007-10-07 Kazu Hirata <kazu@codesourcery.com>
+ * config/m68k/m68k.c, config/m68k/m68k.md: Use the assembly
+ syntax for ASSEMBLER_DIALECT.
+ * config/m68k/m68k.h (ASSEMBLER_DIALECT): New.
+
+2007-10-10 Revital Eres <eres@il.ibm.com>
+
+ * modulo-sched.c (check_nodes_order): Dump the final order of
+ the nodes.
+ (get_sched_window): Add dump info.
+ (calculate_order_params): Dump order params of the nodes.
+
+2007-10-09 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ PR middle-end/33669
+ * ra-conflict.c (record_one_conflict_between_regnos,
+ set_conflicts_for_earlyclobber, global_conflicts): Improved logging.
+ (global_conflicts): Enhanced incorrect check.
+
+2007-10-09 Geoffrey Keating <geoffk@apple.com>
+
+ * dwarf2out.c (output_call_frame_info): FDEs are always emitted
+ if flag_exceptions is not set.
+ * config/darwin.c (darwin_emit_unwind_label): Rewrite to use
+ assemble_name rather than incorrectly emulating it.
+
+ * doc/extend.texi (Deprecated Features): Mention that <? and >? and
+ friends are removed from G++.
+
+2007-10-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ * c-opts.c (c_common_handle_option): -Wnontemplate-friend,
+ -Wwrite-strings and -Wmultichar are enabled by default, so Wall
+ enabling them is redundant. Don't check two times for
+ c_dialect_cxx.
+
+2007-10-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ra-conflict.c (record_one_conflict_between_regnos): Revert
+ the last change.
+ (set_conflicts_for_earlyclobber): Likewise.
+ (global_conflicts): Likewise.
+
+2007-10-09 Kazu Hirata <kazu@codesourcery.com>
+
+ * longlong.h (count_leading_zeros): Replace '{' and '}' with '%{'
+ and '%}', respectively.
+
+2007-10-09 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/m68k/m68k.c (print_operand): Handle '{' and '}'.
+ * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '{'
+ and '}'.
+ * config/m68k/m68k.md: Replace '{' with '%{' where '{' is
+ meant to be output.
+
+2007-10-09 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/33692
+ * gimplify.c (canonicalize_component_ref): Honor qualifiers
+ of referenced structure and component.
+
+2007-10-09 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ PR middle-end/33669
+ * ra-conflict.c (record_one_conflict_between_regnos,
+ set_conflicts_for_earlyclobber, global_conflicts): Improved
+ logging.
+ (global_conflicts): Removed incorrect check.
+
+2007-10-09 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ PR tree-optimization/33615
+ * tree-ssa-pre.c (compute_avail): Don't call make_values_for_stmt
+ if the statement might throw. Fix formatting.
+
+2007-10-09 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ PR tree-optimization/33615
+ * tree-ssa-loop-im.c (movement_possibility): Return MOVE_IMPOSSIBLE
+ if the rhs might throw.
+
+2007-10-09 Jan Hubicka <jh@suse.cz>
+
+ * invoke.texi (align-threshold, align-loop-iterations): Document.
+ * final.c: Include cfgloop.h, params.h
+ (compute_alignments): Dump decisions and compare them with loop
+ structure; honor given parameters.
+ (pass_compute_alignments): New dump file.
+ * params.def (PARAM_ALIGN_THRESHOLD, PARAM_ALIGN_LOOP_ITERATIONS): New.
+ * Makefile.in (final.o): Add dependency on cfgloop.h and params.h
+
+2007-10-09 James E. Wilson <wilson@specifix.com>
+
+ PR tree-optimization/33655
+ PR middle-end/22156
+ * tree-sra.c (bitfield_overlaps_p): When fld->element is INTEGER_CST,
+ convert it to bitsizetype before size_binop call.
+
+2007-10-09 Alexandre Oliva <aoliva@redhat.com>
+
+ PR tree-optimization/33572
+ * tree-inline.c (update_ssa_across_abnormal_edges): Tolerate
+ the absence of a corresponding edge from the exit block.
+
+2007-10-09 Alexandre Oliva <aoliva@redhat.com>
+
+ PR middle-end/22156
+ * tree-sra.c (instantiate_element): Use BYTES_BIG_ENDIAN for
+ bit-field layout.
+ (sra_build_assignment): Likewise. Set up mask depending on
+ precision, not type.
+ (sra_build_bf_assignment): Use BYTES_BIG_ENDIAN. Don't overflow
+ computing bit masks.
+ (sra_build_elt_assignment): Don't view-convert from signed to
+ unsigned.
+ (sra_explode_bitfield_assignment): Use bit-field type if
+ possible. Use BYTES_BIG_ENDIAN.
+
+2007-10-08 Alexandre Oliva <aoliva@redhat.com>
+
+ PR middle-end/22156
+ * tree-sra.c (scalarize_lsdt): Fix thinko in testing whether
+ the original stmt can throw.
+ (sra_build_bf_assignment): Fix type mismatch when applying negated
+ mask.
+
+2007-10-08 Geoffrey Keating <geoffk@apple.com>
+
+ * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Register
+ '#pragma mark' to be executed at preprocessing time.
+
+2007-10-08 Ollie Wild <aaw@google.com>
+
+ * varasm.c (compare_constant): Removed call to
+ lang_hooks.expand_constant.
+ (copy_constants): Removed call to lang_hooks.expand_constant.
+ (compute_reloc_for_constant): Removed call to
+ lang_hooks.expand_constant.
+ (output_addressed_constants): Removed call to
+ lang_hooks.expand_constant.
+ (constructor_static_from_elts_p): Removed call to
+ lang_hooks.expand_constant.
+ (output_constant): Removed calls to lang_hooks.expand_constant.
+ * langhooks.h (struct lang_hooks): Removed field expand_constant.
+ * langhooks-def.h (lhd_return_tree): Removed.
+ (LANG_HOOKS_EXPAND_CONSTANT): Removed.
+ (LANG_HOOKS_INITIALIZER): Removed LANG_HOOKS_EXPAND_CONSTANT.
+ * langhooks.c (lhd_return_tree): Removed.
+
+2007-10-08 Mark Shinwell <shinwell@codesourcery.com>
+
+ * combine.c (setup_incoming_promotions): Ensure that
+ arguments that have not undergone mode promotions do not
+ incorrectly get marked as being sign- or zero-extended.
+
+2007-10-08 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/33693
+ PR middle-end/33695
+ PR middle-end/33697
+ * fold-const.c (fold_binary): Use correct types in folding
+ of a * (1 << b) to (a << b). Likewise for ~A & ~B to ~(A | B)
+ and building of RROTATE_EXPR.
+
+2007-10-08 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/33691
+ PR middle-end/33694
+ PR middle-end/33696
+ * fold-const.c (fold_binary): Use the correct types when
+ folding (A | CST1) & CST2 to (A & CST2) | (CST1 & CST2).
+ (fold_binary): Use the correct types when folding
+ (-A) - B to (-B) - A.
+ (fold_unary): Use the correct types when folding ~(X).
+
+2007-10-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ * doc/invoke.texi (Wall): fix formatting issues.
+
+2007-10-07 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * simplify-rtx.c (simplify_binary_operation_1): Canonicalize
+ truncated shift counts.
+
+2007-10-07 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/m68k/m68k.c, config/m68k/m68k.md: Use the assembly
+ syntax for ASSEMBLER_DIALECT.
+ * config/m68k/m68k.h (ASSEMBLER_DIALECT): New.
+
+2007-10-06 Eric Botcazou <ebotcazou@adacore.com>
+ Nathan Froyd <froydnj@codesourcery.com>
+
+ * dwarf2out.c (dwarf2out_frame_init): Check for DWARF2_FRAME_INFO
+ when determining whether to record INCOMING_RETURN_ADDR_RTX.
+
+2007-10-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ Revert:
+ 2007-02-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.h (DECL_IGNORED_P): Document further effect for FUNCTION_DECL.
+ * cgraphunit.c (cgraph_expand_function): If DECL_IGNORED_P is set on
+ the function, temporarily point the debug interface to the null one.
+
+2007-10-06 Alexandre Oliva <aoliva@redhat.com>
+
+ PR tree-optimization/33655
+ PR middle-end/22156
+ * tree-sra.c (bitfield_overlaps_p): Handle array and complex
+ elements.
+
+2007-10-06 Alexandre Oliva <aoliva@redhat.com>
+
+ PR tree-optimization/33572
+ * tree-cfg.c (verify_stmts): Check for missing PHI defs.
+ * tree-inline.c (update_ssa_across_eh_edges): Renamed to...
+ (update_ssa_across_abnormal_edges): ... this. Set slots in the
+ return PHI node.
+ (copy_edges_for_bb): Handle nonlocal label edges.
+ (make_nonlocal_label_edges): Deleted.
+ (optimize_inline_calls): Don't call it.
+
+2007-10-05 Hans-Peter Nilsson <hp@axis.com>
+
+ * gthr-single.h: Revert last change.
+
+2007-10-05 Michael Matz <matz@suse.de>
+
+ PR middle-end/33667
+ * lower-subreg.c (decompose_multiword_subregs): Use
+ validate_unshare_change().
+
+2007-10-05 Peter Bergner <bergner@vnet.ibm.com>
+
+ * ra-conflict.c: Include "sparseset.h".
+ (conflicts): Change to HOST_WIDEST_FAST_INT.
+ (allocnos_live): Redefine variable as a sparseset.
+ (SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE, GET_ALLOCNO_LIVE): Delete macros.
+ (allocno_row_words): Removed global variable.
+ (partial_bitnum, max_bitnum, adjacency_pool, adjacency): New variables.
+ (CONFLICT_BITNUM, CONFLICT_BITNUM_FAST): New defines.
+ (conflict_p, set_conflict_p, set_conflicts_p): New functions.
+ (record_one_conflict_between_regnos): Cache allocno values and reuse.
+ Use set_conflict_p.
+ (record_one_conflict): Update uses of allocnos_live to use
+ the sparseset routines. Use set_conflicts_p.
+ (mark_reg_store): Likewise.
+ (set_reg_in_live): Likewise.
+ (global_conflicts): Update uses of allocnos_live.
+ Use the new adjacency list to visit an allocno's neighbors
+ rather than iterating over all possible allocnos.
+ Call set_conflicts_p to setup conflicts rather than adding
+ them manually.
+ * global.c: Comments updated.
+ (CONFLICTP): Delete define.
+ (regno_compare): New function. Add prototype.
+ (global_alloc): Sort the allocno to regno mapping according to
+ which basic blocks the regnos are referenced in. Modify the
+ conflict bit matrix to a compressed triangular bitmatrix.
+ Only allocate the conflict bit matrix and adjacency lists if
+ we are actually going to allocate something.
+ (expand_preferences): Use conflict_p. Update uses of allocnos_live.
+ (prune_preferences): Use the FOR_EACH_CONFLICT macro to visit an
+ allocno's neighbors rather than iterating over all possible allocnos.
+ (mirror_conflicts): Removed function.
+ (dump_conflicts): Iterate over regnos rather than allocnos so
+ that all dump output will be sorted by regno number.
+ Use the FOR_EACH_CONFLICT macro.
+ * ra.h: Comments updated.
+ (conflicts): Update prototype to HOST_WIDEST_FAST_INT.
+ (partial_bitnum, max_bitnum, adjacency, adjacency_pool): Add prototypes.
+ (ADJACENCY_VEC_LENGTH, FOR_EACH_CONFLICT): New defines.
+ (adjacency_list_d, adjacency_iterator_d): New types.
+ (add_neighbor, adjacency_iter_init, adjacency_iter_done,
+ adjacency_iter_next, regno_basic_block): New static inline functions.
+ (EXECUTE_IF_SET_IN_ALLOCNO_SET): Removed define.
+ (conflict_p): Add function prototype.
+ * sparseset.h, sparseset.c: New files.
+ * Makefile.in (OBJS-common): Add sparseset.o.
+ (sparseset.o): New rule.
+
+2007-10-05 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/33666
+ * fold-const.c (fold_unary): Do not fold (long long)(int)ptr
+ to (long long)ptr.
+
+2007-10-05 Michael Matz <matz@suse.de>
+
+ PR inline-asm/33600
+ * function.c (match_asm_constraints_1): Check for input
+ being used in the outputs.
+
+2007-10-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-cfg.c (verify_gimple_expr): Accept OBJ_TYPE_REF.
+
+2007-10-05 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ PR target/33635
+ * config/mips/mips.c (mips_register_move_cost): Rewrite to use
+ subset checks. Make the cost of FPR -> FPR moves depend on
+ mips_mode_ok_for_mov_fmt_p.
+
2007-10-04 Doug Kwan <dougkwan@google.com>
* gthr-posix.h (__gthread_cond_broadcast, __gthread_cond_wait,
* ra.h: New file.
* reload.c (push_reload, find_dummy_reload): Change DF_RA_LIVE
usage to DF_LIVE usage.
+ (reload): Remove reference to df_get_live_top.
* rtlanal.c (subreg_nregs_with_regno): New function.
* df-scan.c (df_def_record_1, df_uses_record): Add code to set
DF_REF_EXTRACT, DF_REF_STRICT_LOWER_PART, and DF_REF_SUBREG flags.