[all-commits] [llvm/llvm-project] c09cd6: [BOLT] Fix AND evaluation bug in shrink wrapping

Rafael Auler via All-commits all-commits at lists.llvm.org
Thu May 26 14:59:57 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c09cd64e5c6dea6e97ef7d6cee5f689df2b408d7
      https://github.com/llvm/llvm-project/commit/c09cd64e5c6dea6e97ef7d6cee5f689df2b408d7
  Author: Rafael Auler <rafaelauler at fb.com>
  Date:   2022-05-26 (Thu, 26 May 2022)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Passes/StackPointerTracking.h
    M bolt/lib/Passes/AllocCombiner.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Passes/StackAllocationAnalysis.cpp
    M bolt/lib/Passes/ValidateInternalCalls.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    A bolt/test/X86/shrinkwrapping-and-rsp.s

  Log Message:
  -----------
  [BOLT] Fix AND evaluation bug in shrink wrapping

Fix a bug where shrink-wrapping would use wrong stack offsets
because the stack was being aligned with an AND instruction, hence,
making its true offsets only available during runtime (we can't
statically determine where are the stack elements and we must give up
on this case).

Reviewed By: Amir

Differential Revision: https://reviews.llvm.org/D126110




More information about the All-commits mailing list