)]}'
{
  "commit": "f959fb3872a32d29c93f10deae31e4e6d79f2da9",
  "tree": "c8cb8b98189ced9718c0c83b0237e822554cf23c",
  "parents": [
    "47a0d467161c10f80bc3fcf7b0385b80d1194c7a"
  ],
  "author": {
    "name": "Keith Randall",
    "email": "khr@golang.org",
    "time": "Mon Nov 21 22:22:36 2022 -0800"
  },
  "committer": {
    "name": "Keith Randall",
    "email": "khr@google.com",
    "time": "Thu Jan 19 22:43:12 2023 +0000"
  },
  "message": "cmd/compile: add anchored version of SP\n\nThe SPanchored opcode is identical to SP, except that it takes a memory\nargument so that it (and more importantly, anything that uses it)\nmust be scheduled at or after that memory argument.\n\nThis opcode ensures that a LEAQ of a variable gets scheduled after the\ncorresponding VARDEF for that variable.\n\nThis may lead to less CSE of LEAQ operations. The effect is very small.\nThe go binary is only 80 bytes bigger after this CL. Usually LEAQs get\nfolded into load/store operations, so the effect is only for pointerful\ntypes, large enough to need a duffzero, and have their address passed\nsomewhere. Even then, usually the CSEd LEAQs will be un-CSEd because\nthe two uses are on different sides of a function call and the LEAQ\nends up being rematerialized at the second use anyway.\n\nChange-Id: Ib893562cd05369b91dd563b48fb83f5250950293\nReviewed-on: https://go-review.googlesource.com/c/go/+/452916\nTryBot-Result: Gopher Robot \u003cgobot@golang.org\u003e\nRun-TryBot: Keith Randall \u003ckhr@golang.org\u003e\nReviewed-by: Martin Möhrmann \u003cmoehrmann@google.com\u003e\nReviewed-by: Martin Möhrmann \u003cmartin@golang.org\u003e\nReviewed-by: Keith Randall \u003ckhr@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5e30ca9fd74a12d9ad8100c79ee54ddb92d2af8a",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/_gen/386.rules",
      "new_id": "88074e5fd081301115be1fbb14f7a1cf72ccb5ca",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/_gen/386.rules"
    },
    {
      "type": "modify",
      "old_id": "ccb52956224bf81c5fcac44be6ee57d45dd67626",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/_gen/AMD64.rules",
      "new_id": "c50710ec90c6d39aa91d22f1754e224a5a953ee5",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/_gen/AMD64.rules"
    },
    {
      "type": "modify",
      "old_id": "e5898b036913fbb033f46e04bf72aa1c72d64139",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/_gen/ARM.rules",
      "new_id": "d8fbf41754e74f1dfaf8f15e39d90263ef1a9716",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/_gen/ARM.rules"
    },
    {
      "type": "modify",
      "old_id": "0c5a2e66a8ca7545d0d2187c145fc1dd77aa4a2e",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/_gen/ARM64.rules",
      "new_id": "0ae02f5de370c88874cdf491561908fd178df407",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/_gen/ARM64.rules"
    },
    {
      "type": "modify",
      "old_id": "1caaf13600d47429d337281e42b00e8ae3ee2374",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/_gen/LOONG64.rules",
      "new_id": "7e445e506e55480e227f90a021a39d699b1e4b6e",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/_gen/LOONG64.rules"
    },
    {
      "type": "modify",
      "old_id": "6f696da3cc847237f9792fb9751af98897b458dd",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/_gen/MIPS.rules",
      "new_id": "9cd5a1618e0b03e4fba9ee6d868ec6a3697d678e",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/_gen/MIPS.rules"
    },
    {
      "type": "modify",
      "old_id": "a594df2b266838bfcbd677f5f4fb5b383b81f00a",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/_gen/MIPS64.rules",
      "new_id": "b0d0dd8e665dbc9e35fcf31f24d0911cc8f655d9",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/_gen/MIPS64.rules"
    },
    {
      "type": "modify",
      "old_id": "5a68de0ca4dadff18c19b4c37b09094998b9ecee",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/_gen/PPC64.rules",
      "new_id": "2eda1af3bfc943f172b003fffb4ef83fb639977f",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/_gen/PPC64.rules"
    },
    {
      "type": "modify",
      "old_id": "59f71be5bafd6e88a990024390729610c7f890af",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/_gen/RISCV64.rules",
      "new_id": "802b1dd1fd64393e3e327b92e52976884772fce4",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/_gen/RISCV64.rules"
    },
    {
      "type": "modify",
      "old_id": "e9becb2e17f32d0882810aa2e36edf7628123360",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/_gen/S390X.rules",
      "new_id": "9495010a736bad75f909c2cc95f57b2bb7f5974a",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/_gen/S390X.rules"
    },
    {
      "type": "modify",
      "old_id": "a9ed82e45669d54e450b4913598ada1b81c9929d",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/_gen/Wasm.rules",
      "new_id": "e31808ebe175a3ac37f0ce7c7a83613483481193",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/_gen/Wasm.rules"
    },
    {
      "type": "modify",
      "old_id": "a4c8fc9c6925daefd8e4533b424985e3fb51e3fd",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/_gen/genericOps.go",
      "new_id": "40c9baf5f1e82bcae4586b111689822de84a4206",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/_gen/genericOps.go"
    },
    {
      "type": "modify",
      "old_id": "0b79d77c504b73c3e6107da34680e7da5771d0b2",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/lower.go",
      "new_id": "88eb6748e86f8c0461a0381b0747252f1985b5c0",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/lower.go"
    },
    {
      "type": "modify",
      "old_id": "9ff0ad353e0718e482e53119550ba64ab63127d3",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/opGen.go",
      "new_id": "c59cfdd9ef1933e7db3f62286d04cef55e7bc2f1",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/opGen.go"
    },
    {
      "type": "modify",
      "old_id": "f4ac97c5eb7afcb8c066c58735fe1a5655fbc6d2",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/rewrite.go",
      "new_id": "84bf2047d42d97f9bbfd030bc880539c8c7989a6",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/rewrite.go"
    },
    {
      "type": "modify",
      "old_id": "a7671e919060fe1495403b38822ee548542aea20",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/rewrite386.go",
      "new_id": "064173a946bbf97c5e3e4d18232774ef188ceb8b",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/rewrite386.go"
    },
    {
      "type": "modify",
      "old_id": "395b2b1e6e396ee299812305d540ce159d915b69",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/rewriteAMD64.go",
      "new_id": "fa00bd4f5fbd9cd91af2fc3ef1bb9fb438afbb4c",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/rewriteAMD64.go"
    },
    {
      "type": "modify",
      "old_id": "c31d89c1fd2e6ea52e2c3da94e7feea0819651e2",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/rewriteARM.go",
      "new_id": "6ea1a7e4b26afaad386d53b9223d68f91d324ddf",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/rewriteARM.go"
    },
    {
      "type": "modify",
      "old_id": "88c690be1f6788f31d96251cba7a69d741b2f3f9",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/rewriteARM64.go",
      "new_id": "6f02b507e823f8d6f32a1b72733896fc77943f18",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/rewriteARM64.go"
    },
    {
      "type": "modify",
      "old_id": "451b8313ebdeb66fd6a1d7b92631b6f3632bb8f7",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/rewriteLOONG64.go",
      "new_id": "3c783a3037bbded85c1aeb6f433cada31b133adb",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/rewriteLOONG64.go"
    },
    {
      "type": "modify",
      "old_id": "f1e4970af832599f287ed3cd03d626676e3648ca",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/rewriteMIPS.go",
      "new_id": "a8cda7644a7c1fff0faa1efe2f334f74d324c0d9",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/rewriteMIPS.go"
    },
    {
      "type": "modify",
      "old_id": "14d39babf2a7987fb936c4696538a9032a72a7a0",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/rewriteMIPS64.go",
      "new_id": "82d52f0b3f3479b03b8f0f06fb9f4c4d06c5db07",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/rewriteMIPS64.go"
    },
    {
      "type": "modify",
      "old_id": "192ec49d824a119f9e9123f8caf9ba716c4f450b",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/rewritePPC64.go",
      "new_id": "aee570df7a68fa66e0489035c462f6d451078f0b",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/rewritePPC64.go"
    },
    {
      "type": "modify",
      "old_id": "5107b9a96fd481cc2d48b7736feaefe4f94c2353",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/rewriteRISCV64.go",
      "new_id": "66a6967db4cd0aa78f37524a95af1eaca09c8633",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/rewriteRISCV64.go"
    },
    {
      "type": "modify",
      "old_id": "597941c26d40168819361b6e3830971ca8f39a5e",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/rewriteS390X.go",
      "new_id": "b766156b437051f747a3a2d7e3ad958ee8b34bff",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/rewriteS390X.go"
    },
    {
      "type": "modify",
      "old_id": "818003c4a75afe926d55981a52744288d171e25e",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/rewriteWasm.go",
      "new_id": "bb35d8e663ce93d6de66cd9674dc66f609f3822f",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/rewriteWasm.go"
    },
    {
      "type": "modify",
      "old_id": "4e762f7b3fd223a4808f2103b3e1d64f743b63a1",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/schedule.go",
      "new_id": "d88c33f3046bf5c5334ce37d7ce5a500b002212a",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/schedule.go"
    },
    {
      "type": "modify",
      "old_id": "327be24db8125f7ea9aaa98556c62e40130e10f3",
      "old_mode": 33188,
      "old_path": "test/codegen/arithmetic.go",
      "new_id": "5139d1340a392096fdc7c2ae275c8951cbaaa4bc",
      "new_mode": 33188,
      "new_path": "test/codegen/arithmetic.go"
    },
    {
      "type": "modify",
      "old_id": "50ce5f0cca87821d685c535467ab4bbf7a80fdef",
      "old_mode": 33188,
      "old_path": "test/codegen/logic.go",
      "new_id": "f761e7bb9ae6e009711c72488f9078d080d52e1a",
      "new_mode": 33188,
      "new_path": "test/codegen/logic.go"
    }
  ]
}
