Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PPC LLVM 18 #2540

Draft
wants to merge 15 commits into
base: next
Choose a base branch
from
Draft

PPC LLVM 18 #2540

wants to merge 15 commits into from

Conversation

Rot127
Copy link
Collaborator

@Rot127 Rot127 commented Nov 9, 2024

Your checklist for this pull request

  • I've documented or updated the documentation of every API function and struct this PR changes.
  • I've added tests that prove my fix is effective or that my feature works (if possible)

Based on: #2532

Detailed description

New

(According to LLVM changelog)

  • Added DFP instruction.
  • Added the SCV instruction.

Changes

  • Memory decoder were simplified by decoding disponent and base reg separately.
  • DFORM -> DFORM_BASE
  • Use inverted MCInstDesc table.
  • Replace the many declared printer in PPCInstPrinter with static inlines.
  • Renamed groups to upper case.
  • Switched to ARCH_add_cs_detail_X() function names.
  • Remove PPCInstPrinter.h because it is no longer used.

Test plan

Newly added and all green.

Closing issues

...

- Enables the Differ to write to the newly translated or the old file.
- Adds a patching test.
- Allows to predefine user input.
- Some simplifications.
This also updates most code to the latest Auto-Sync structure.
- Enums are upper case.
- Decoders (NULL) are passed to decode_instruction.
Table is sorted in reverse for LLVM 18
For now overlapping patches overwrite each other.
It requires a proper conflict handling in the future.
**New**

(According to LLVM changelog)

- Added DFP instruction.
- Added the SCV instruction.

**Changes**

- Memory decoder were simplified by decoding disponent and base reg separately.
- `DFORM` -> `DFORM_BASE`
- Use inverted `MCInstDesc` table.
- Replace the many declared printer in PPCInstPrinter with `static inlines`.
- Renamed groups to upper case.
- Switched to `ARCH_add_cs_detail_X()` function names.
- Remove `PPCInstPrinter.h` because it is no longer used.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant