)]}'
{
  "commit": "889db04e2c3b1a4cbcdcc94b7c3e5b365fa2effd",
  "tree": "3c26c23c370fef20415420143de31cfbcd3e0205",
  "parents": [
    "f8edcba62db3d1174f81d6f8e6acab19c4dbf583"
  ],
  "author": {
    "name": "Tom Tromey",
    "email": "tromey@adacore.com",
    "time": "Tue Oct 21 04:27:54 2025 -0600"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Oct 21 11:27:54 2025 +0100"
  },
  "message": "Minor optimizations to DW_OP_LLVM_extract_bits_* (#163812)\n\nI noticed a couple more small optimization opportunities when generating\nDWARF expressions from the internal\nDW_OP_LLVM_extract_bits_* operations:\n\n* DW_OP_deref can be used, rather than DW_OP_deref_size, when the deref\nsize is the word size.\n\n* If the bit offset is 0 and an unsigned extraction is desired, then\nsometimes the shifting can be skipped entirely, or replaced with\nDW_OP_and.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f0f086184656a4aea8fda3dc8caf5fce0062c90e",
      "old_mode": 33188,
      "old_path": "llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp",
      "new_id": "c7d45897c403b0a39f8720ec8e04b96fc21dcf52",
      "new_mode": 33188,
      "new_path": "llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp"
    },
    {
      "type": "modify",
      "old_id": "5928127866f7e30a5ab4fbb6148e8bc1fef9cb5f",
      "old_mode": 33188,
      "old_path": "llvm/test/DebugInfo/X86/DW_OP_LLVM_extract_bits.ll",
      "new_id": "b79c84d5327860553795ef1e4de4bdc73a803d43",
      "new_mode": 33188,
      "new_path": "llvm/test/DebugInfo/X86/DW_OP_LLVM_extract_bits.ll"
    }
  ]
}
