[DynInst_API:] [dyninst/dyninst] 6783b5: Add new AST MultiRegisterAST to instructionAPI


Date: Mon, 15 Jul 2024 11:55:33 -0700
From: bbiiggppiigg <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 6783b5: Add new AST MultiRegisterAST to instructionAPI
  Branch: refs/heads/bbiiggppiigg/add_multiregister_ast
  Home:   https://github.com/dyninst/dyninst
  Commit: 6783b50005e24e49d6551db2d4a3ee02ddc0aa6f
      https://github.com/dyninst/dyninst/commit/6783b50005e24e49d6551db2d4a3ee02ddc0aa6f
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M dataflowAPI/src/AbslocInterface.C
    M dataflowAPI/src/ExpressionConversionVisitor.C
    M dataflowAPI/src/ExpressionConversionVisitor.h
    M dataflowAPI/src/stackanalysis.C
    M dyninstAPI/src/BPatch_memoryAccessAdapter.C
    M dyninstAPI/src/BPatch_memoryAccessAdapter.h
    M dyninstAPI/src/IAPI_to_AST.C
    M dyninstAPI/src/IAPI_to_AST.h
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    M dyninstAPI/src/StackMod/StackAccess.C
    M instructionAPI/CMakeLists.txt
    M instructionAPI/h/Expression.h
    M instructionAPI/h/InstructionAST.h
    A instructionAPI/h/MultiRegister.h
    M instructionAPI/h/Register.h
    M instructionAPI/h/Visitor.h
    M instructionAPI/src/Expression.C
    A instructionAPI/src/MultiRegister.C
    M instructionAPI/src/syscalls.C
    M parseAPI/src/IA_x86.C

  Log Message:
  -----------
  Add new AST MultiRegisterAST to instructionAPI

This commit introduce a new ast that denotes the use of multiple
registers as a single operand.

For now, the visitor for such a class
is basically visiting the registers contained in it, in order.

The constructor of the Expression class has been restructured to
avoid redundant implementation.


  Commit: c5360a71fb01256bba9f7a17e09a349618729784
      https://github.com/dyninst/dyninst/commit/c5360a71fb01256bba9f7a17e09a349618729784
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M instructionAPI/h/ArchSpecificFormatters.h
    M instructionAPI/h/MultiRegister.h
    M instructionAPI/src/ArchSpecificFormatters.C
    M instructionAPI/src/InstructionDecoderImpl.C
    M instructionAPI/src/InstructionDecoderImpl.h
    M instructionAPI/src/MultiRegister.C
    M instructionAPI/src/Operand.C

  Log Message:
  -----------
  Add new AST MultiRegisterAST to instructionAPI

This commit introduce a new ast that denotes the use of multiple
registers as a single operand.

For now, the visitor for such a class
is basically visiting the registers contained in it, in order.

The constructor of the Expression class has been restructured to
avoid redundant implementation.


  Commit: 67a9c03cf11de2a5d073833578accf845ff5c629
      https://github.com/dyninst/dyninst/commit/67a9c03cf11de2a5d073833578accf845ff5c629
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M dataflowAPI/src/AbslocInterface.C
    M dataflowAPI/src/RoseInsnFactory.C
    M instructionAPI/src/AMDGPU/gfx908/appendOperands.C
    M instructionAPI/src/AMDGPU/gfx90a/appendOperands.C
    M instructionAPI/src/AMDGPU/gfx940/appendOperands.C

  Log Message:
  -----------
  Update implemenation to use MultiRegisterAST

Update existing implementation to use MultiRegisterAST.
Fix assumptions about number of operands when creating assignment
in AbslocInterface and split them into individual registers in
RoseInsnFactory for symbolic execution.


  Commit: 524ba4b9bd3a4a61bc7cc0ca07d9dec994826738
      https://github.com/dyninst/dyninst/commit/524ba4b9bd3a4a61bc7cc0ca07d9dec994826738
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M dataflowAPI/src/AbslocInterface.C
    M dataflowAPI/src/ExpressionConversionVisitor.C
    M dataflowAPI/src/RoseInsnFactory.C
    M dataflowAPI/src/stackanalysis.C
    M dyninstAPI/src/BPatch_memoryAccessAdapter.C
    M dyninstAPI/src/IAPI_to_AST.C
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    M dyninstAPI/src/StackMod/StackAccess.C
    M instructionAPI/h/Expression.h
    M instructionAPI/h/MultiRegister.h
    M instructionAPI/src/ArchSpecificFormatters.C
    M instructionAPI/src/Expression.C
    M instructionAPI/src/MultiRegister.C
    M parseAPI/src/IA_x86.C

  Log Message:
  -----------
  Fix most but MultiRegisters::bind


  Commit: 99a4cb742703d4a464a2c5ae5f8689a2340ee9c7
      https://github.com/dyninst/dyninst/commit/99a4cb742703d4a464a2c5ae5f8689a2340ee9c7
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M dataflowAPI/src/AbslocInterface.C
    M dataflowAPI/src/stackanalysis.C
    M instructionAPI/h/ArchSpecificFormatters.h
    M instructionAPI/h/Expression.h
    M instructionAPI/h/Result.h
    M instructionAPI/src/AMDGPU/gfx908/decodeOperands.C
    M instructionAPI/src/AMDGPU/gfx90a/decodeOperands.C
    M instructionAPI/src/AMDGPU/gfx940/decodeOperands.C
    M instructionAPI/src/ArchSpecificFormatters.C
    M instructionAPI/src/Expression.C
    M instructionAPI/src/MultiRegister.C

  Log Message:
  -----------
  MultiRegister Support Part 2

Remove unused function parameter names
Fix signature of MultiRegister formatter
Implement bind for MultiRegisterAST
Fix decodeOPR_VCC to use vcc_lo instead


  Commit: f05ab336df65b423402321791679f2beaddcb240
      https://github.com/dyninst/dyninst/commit/f05ab336df65b423402321791679f2beaddcb240
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M instructionAPI/src/MultiRegister.C

  Log Message:
  -----------
  Fix MultiRegister::isUsed


  Commit: 8f8f49e2d54121853f0018b1ce4486fa4664e3df
      https://github.com/dyninst/dyninst/commit/8f8f49e2d54121853f0018b1ce4486fa4664e3df
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M dataflowAPI/src/RoseInsnFactory.C

  Log Message:
  -----------
  Reorder vector assignment and Add comments for massage operands


  Commit: e9b0c8dda7cce002219350f0f80e4983389ebc7d
      https://github.com/dyninst/dyninst/commit/e9b0c8dda7cce002219350f0f80e4983389ebc7d
  Author: bbiiggppiigg <bbiiggppiigg@xxxxxxxxx>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M instructionAPI/src/MultiRegister.C

  Log Message:
  -----------
  Update instructionAPI/src/MultiRegister.C

Co-authored-by: kupsch <kupsch@xxxxxxxxxxx>


  Commit: 020e13ca7fc363bd904740721806b31ffd8f0944
      https://github.com/dyninst/dyninst/commit/020e13ca7fc363bd904740721806b31ffd8f0944
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M instructionAPI/src/MultiRegister.C

  Log Message:
  -----------
  remove duplicate ret declaration


  Commit: dc45a97a9424d5fb021be7b360ffd03bb50c8a15
      https://github.com/dyninst/dyninst/commit/dc45a97a9424d5fb021be7b360ffd03bb50c8a15
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M instructionAPI/src/MultiRegister.C

  Log Message:
  -----------
  remove redundant append in MultiRegister::format


  Commit: a11ba79cb3529fc882519e2b119b3bb5f0f57096
      https://github.com/dyninst/dyninst/commit/a11ba79cb3529fc882519e2b119b3bb5f0f57096
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M dataflowAPI/src/ExpressionConversionVisitor.h
    M instructionAPI/h/MultiRegister.h

  Log Message:
  -----------
  Update visibility control macros based on (#1738)


Compare: https://github.com/dyninst/dyninst/compare/684d5adddd2d...a11ba79cb352

To unsubscribe from these emails, change your notification settings at https://github.com/dyninst/dyninst/settings/notifications
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 6783b5: Add new AST MultiRegisterAST to instructionAPI, bbiiggppiigg <=