)]}'
{
  "commit": "c8121b99a99fe1785add732aa062039b7c5fdd32",
  "tree": "71a56cf9f3cee9b093688703b68c4939cd404698",
  "parents": [
    "d41e517748e2dbb51e27bed217f3dd7a4c4fb86f"
  ],
  "author": {
    "name": "Fangrui Song",
    "email": "i@maskray.me",
    "time": "Tue Apr 15 09:10:04 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Apr 15 09:10:04 2025 -0700"
  },
  "message": "[RISCV] Xqcilb: remove RISCVMCExpr::VK_QC_E_JUMP_PLT and drop `@plt` parsing\n\nFollow-up to the just landed #135044 . Remove `@plt` parsing (only\nneeded by legacy `call foo@plt`). MCParser\u0027s `@` parsing is problematic.\nSupporting target variations like (`foo+2@plt foo@plt+2 (foo+2)@plt`)\ninvolves messy hacks. We should refrain from adding new `@` uses.\n\nRemove unneeded `RISCVMCExpr::VK_QC_E_JUMP_PLT` (should only be used\nwhen an instruction might have multiple reasonable relocations\nhttps://maskray.me/blog/2025-03-16-relocation-generation-in-assemblers).\n\n---\n\nGCC\u0027s initial initial RISC-V port made a mistake by having both `call\nfoo` (non-PIC) and `call foo@plt` (PIC), likely misled by x86/SystemZ.\nIt was determined that the `@plt` was not needed. Since R_RISCV_CALL had\nquestionable undefined weak semantics in GNU ld (which has been removed\nthen), we kept R_RISCV_CALL_PLT and deprecated R_RISCV_CALL.\n\nFor RISC-V instructions, we only keep `@` in call/jump for backward\ncompatibility and discourage it for all other instructions.\n\n(\nThere is disagreement about whether `PLT` in `JUMP_PLT` is useful or\nmisleading.\nMaskRay\u0027s opnion: For new branch relocations with procedure call\nsemantics, use `_CALL` and avoid `_PLT` in the relocation name.\n`_PLT` should only be used in data directives (e.g. R_RISCV_PLT32) to\nindicate that the address of a function is not significant.\n)\n\nPull Request: https://github.com/llvm/llvm-project/pull/135507\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2f8e002f291db5878b20c12bdacea04df745f8be",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp",
      "new_id": "013944787ff2d08930dce53561bde6b94994fd9e",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp"
    },
    {
      "type": "modify",
      "old_id": "f324907d49fd9215aee7844cf355e1b15f3d143d",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp",
      "new_id": "6283f1d120aaa1227215fc312112b0a2c8a9e43e",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp"
    },
    {
      "type": "modify",
      "old_id": "99f72620f97edb2ff4f056a7fe70fcf2d4cf4f78",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp",
      "new_id": "d6650e156c8b3920acb3748f82d83bcb2159d1c9",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp"
    },
    {
      "type": "modify",
      "old_id": "d60879d34dc17c7e66408f28d150b765f4935578",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h",
      "new_id": "e0aa7ff244521288b8e3d261043590e6624a9bd3",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h"
    },
    {
      "type": "modify",
      "old_id": "4ac17c8283866c0fea640b161a839a03e37140a1",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td",
      "new_id": "8eaa5e394a91c8f1c68a340cef472570ec36aeca",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td"
    },
    {
      "type": "modify",
      "old_id": "10d456c8ac0aa72684729fab631c5eca7b7bcfc9",
      "old_mode": 33188,
      "old_path": "llvm/test/MC/RISCV/xqcilb-invalid.s",
      "new_id": "1c584da890dd3d901d7d884768425c142a181f81",
      "new_mode": 33188,
      "new_path": "llvm/test/MC/RISCV/xqcilb-invalid.s"
    },
    {
      "type": "modify",
      "old_id": "a475cde3f6bfd7544cbaa7b247536d336b54883e",
      "old_mode": 33188,
      "old_path": "llvm/test/MC/RISCV/xqcilb-relocations.s",
      "new_id": "92e543d94f6b6cdc16c4952a477699a4db67fbd3",
      "new_mode": 33188,
      "new_path": "llvm/test/MC/RISCV/xqcilb-relocations.s"
    }
  ]
}
