[all-commits] [llvm/llvm-project] 3c4f4f: [BOLT][AArch64] Fixes assertion errors occurred wh...

Paschalis Mpeis via All-commits all-commits at lists.llvm.org
Tue Jun 25 05:38:59 PDT 2024


  Branch: refs/heads/users/paschalis-mpeis/bolt-create-dummy-return
  Home:   https://github.com/llvm/llvm-project
  Commit: 3c4f4f3810ae1e21ff707d78d923a61aa0cea89c
      https://github.com/llvm/llvm-project/commit/3c4f4f3810ae1e21ff707d78d923a61aa0cea89c
  Author: Adam Kallai <kadam at inf.u-szeged.hu>
  Date:   2024-06-11 (Tue, 11 Jun 2024)

  Changed paths:
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    A bolt/test/AArch64/test-indirect-branch.c

  Log Message:
  -----------
  [BOLT][AArch64] Fixes assertion errors occurred when perf2bolt was executed

BOLT only checks for the most common indirect branch pattern during
the branch analyzation. Needs to extend the current logic with other cases
which slightly differs from the expected one.
This instruction sequences comes from libc,
it occurs when the binary is static.

As a workaround mark it as UNKNOWN branch and add support for them
in a follow up PR later.

Fixes: #83114


  Commit: c24be4640227cbaf59a8a8ed4ef929bb8750e20b
      https://github.com/llvm/llvm-project/commit/c24be4640227cbaf59a8a8ed4ef929bb8750e20b
  Author: Adam Kallai <kadam at inf.u-szeged.hu>
  Date:   2024-06-12 (Wed, 12 Jun 2024)

  Changed paths:
    M bolt/test/AArch64/test-indirect-branch.c

  Log Message:
  -----------
  Enable this test only on AArch64 target


  Commit: 920aad45e4813f4c528b7ac4d64b08c562826f29
      https://github.com/llvm/llvm-project/commit/920aad45e4813f4c528b7ac4d64b08c562826f29
  Author: Adam Kallai <kadam at inf.u-szeged.hu>
  Date:   2024-06-18 (Tue, 18 Jun 2024)

  Changed paths:
    R bolt/test/AArch64/test-indirect-branch.c
    A bolt/test/AArch64/test-indirect-branch.s

  Log Message:
  -----------
  Added assembly test


  Commit: 2107f0c2bf61ced0e39ac8f09c28ea995ef9d026
      https://github.com/llvm/llvm-project/commit/2107f0c2bf61ced0e39ac8f09c28ea995ef9d026
  Author: Adam Kallai <kadam at inf.u-szeged.hu>
  Date:   2024-06-18 (Tue, 18 Jun 2024)

  Changed paths:
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp

  Log Message:
  -----------
  Fix the comment


  Commit: 67133dd752562ff409eb4e522f944bbb78f2acd6
      https://github.com/llvm/llvm-project/commit/67133dd752562ff409eb4e522f944bbb78f2acd6
  Author: Adam Kallai <kadam at inf.u-szeged.hu>
  Date:   2024-06-19 (Wed, 19 Jun 2024)

  Changed paths:
    M bolt/test/AArch64/test-indirect-branch.s

  Log Message:
  -----------
  Added a detailed description into the test


  Commit: a0796e6f1ee3d7c0ba30daec6bb11421814e077c
      https://github.com/llvm/llvm-project/commit/a0796e6f1ee3d7c0ba30daec6bb11421814e077c
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-06-25 (Tue, 25 Jun 2024)

  Changed paths:
    A bolt/test/AArch64/dummy-return.test
    A bolt/test/Inputs/main.c

  Log Message:
  -----------
  [BOLT][AArch64] Instrumentation for static binaries doesn't work in reloc mode.

On AArch64, when trying to instrument a static binary that has relocation
data BOLT would crash as it misses `createDummyReturnFunction` function.


  Commit: 7719e07d74a98f580836d3e32f6133e994be4f98
      https://github.com/llvm/llvm-project/commit/7719e07d74a98f580836d3e32f6133e994be4f98
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-06-25 (Tue, 25 Jun 2024)

  Changed paths:
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/test/AArch64/dummy-return.test

  Log Message:
  -----------
  [BOLT][AArch64] Implemented createDummyReturnFunction.

On AArch64, this method is needed when trying to instrument a static
binary.

Sample commands:
```bash
clang -Wl,-q test.c -static -o out
llvm-bolt -instrument -instrumentation-sleep-time=5 out -o out.instr
```


Compare: https://github.com/llvm/llvm-project/compare/3c4f4f3810ae%5E...7719e07d74a9

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list