)]}'
{
  "commit": "cde1363042b2857111e461968a6367381d46c936",
  "tree": "87aebd412db5502c8f66f37869bd724a160ce960",
  "parents": [
    "cf327312a72fe55d7e06a84bbae3d5de649a1ed3"
  ],
  "author": {
    "name": "Lehua Ding",
    "email": "lehua.ding@rivai.ai",
    "time": "Fri Feb 02 10:35:37 2024 +0800"
  },
  "committer": {
    "name": "Lehua Ding",
    "email": "lehua.ding@rivai.ai",
    "time": "Wed Apr 24 17:36:34 2024 +0800"
  },
  "message": "lra: Apply DF_LIVE_SUBREG data\n\nThis patch apply the DF_LIVE_SUBREG to LRA pass. More changes were made\nto the LRA than the IRA since the LRA will modify the DF data directly.\nThe main big changes are centered on the lra-lives.cc file.\n\ngcc/ChangeLog:\n\n\t* lra-coalesce.cc (update_live_info): Extend to DF_LIVE_SUBREG.\n\t(lra_coalesce): Ditto.\n\t* lra-constraints.cc (update_ebb_live_info): Ditto.\n\t(get_live_on_other_edges): Ditto.\n\t(inherit_in_ebb): Ditto.\n\t(lra_inheritance): Ditto.\n\t(fix_bb_live_info): Ditto.\n\t(remove_inheritance_pseudos): Ditto.\n\t* lra-int.h (GCC_LRA_INT_H): include subreg-live-range.h\n\t(struct lra_insn_reg): Add op filed to record the corresponding rtx.\n\t* lra-lives.cc (class bb_data_pseudos): Extend the bb_data_pseudos to\n\tinclude new partial_def/use and range_def/use fileds for DF_LIVE_SUBREG\n\tproblem.\n\t(need_track_subreg_p): checking is the regno need to be tracked.\n\t(make_hard_regno_live): switch to live_subreg filed.\n\t(make_hard_regno_dead): Ditto.\n\t(mark_regno_live): Support record subreg liveness.\n\t(mark_regno_dead): Ditto.\n\t(live_trans_fun): Adjust transfer function to support subreg liveness.\n\t(live_con_fun_0): Adjust Confluence function to support subreg liveness.\n\t(live_con_fun_n): Ditto.\n\t(initiate_live_solver): Ditto.\n\t(finish_live_solver): Ditto.\n\t(process_bb_lives): Ditto.\n\t(lra_create_live_ranges_1): Dump subreg liveness.\n\t* lra-remat.cc (dump_candidates_and_remat_bb_data): Switch to\n\tDF_LIVE_SUBREG df data.\n\t(calculate_livein_cands): Ditto.\n\t(do_remat): Ditto.\n\t* lra-spills.cc (spill_pseudos): Ditto.\n\t* lra.cc (new_insn_reg): New argument op.\n\t(add_regs_to_insn_regno_info): Add new argument op.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a9b5b51cb3f4d4d88b2a83541161c5c85f9c1f00",
      "old_mode": 33188,
      "old_path": "gcc/lra-coalesce.cc",
      "new_id": "9416775a0095f7d0cb5b6ee05427aa54d2210f34",
      "new_mode": 33188,
      "new_path": "gcc/lra-coalesce.cc"
    },
    {
      "type": "modify",
      "old_id": "10e3d4e4097736a71728a98724a0d42458d1aec6",
      "old_mode": 33188,
      "old_path": "gcc/lra-constraints.cc",
      "new_id": "9586e5602e4266b8fd142d03a32ccfced82b1288",
      "new_mode": 33188,
      "new_path": "gcc/lra-constraints.cc"
    },
    {
      "type": "modify",
      "old_id": "5f605c3ae410a2d06465a0eb48375d7bd0c063ca",
      "old_mode": 33188,
      "old_path": "gcc/lra-int.h",
      "new_id": "d73ff4e31b5bac0b092518724f8058aa32c2adda",
      "new_mode": 33188,
      "new_path": "gcc/lra-int.h"
    },
    {
      "type": "modify",
      "old_id": "66c6577e5d601433805c8e2d924d110c2cbf6c34",
      "old_mode": 33188,
      "old_path": "gcc/lra-lives.cc",
      "new_id": "291f9420e06cda8645aa540e217684a3cea09483",
      "new_mode": 33188,
      "new_path": "gcc/lra-lives.cc"
    },
    {
      "type": "modify",
      "old_id": "c84bf3c99386d5d8bab69c4b7abd6738a972beda",
      "old_mode": 33188,
      "old_path": "gcc/lra-remat.cc",
      "new_id": "ef0157513b0fa9bbbc57467edf0550611cd9046a",
      "new_mode": 33188,
      "new_path": "gcc/lra-remat.cc"
    },
    {
      "type": "modify",
      "old_id": "8b1a945d632866a2fce17b24272d884b9d679a0e",
      "old_mode": 33188,
      "old_path": "gcc/lra-spills.cc",
      "new_id": "08ec247bc00a65f1bee95c6bf7d53641a5b48a9c",
      "new_mode": 33188,
      "new_path": "gcc/lra-spills.cc"
    },
    {
      "type": "modify",
      "old_id": "fb32e134004a1ff3aacff1a20f3d70cdb45fee6c",
      "old_mode": 33188,
      "old_path": "gcc/lra.cc",
      "new_id": "a6fabe7d11898c785c19dfe864bd2cb11d13d7e5",
      "new_mode": 33188,
      "new_path": "gcc/lra.cc"
    }
  ]
}
