[all-commits] [llvm/llvm-project] 117921: [PowerPC] Alignment of toc-data symbol should not ...

Kai Luo via All-commits all-commits at lists.llvm.org
Mon Jun 17 18:58:59 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 117921e071a353edbd27f08456ec27ea98ecdb8c
      https://github.com/llvm/llvm-project/commit/117921e071a353edbd27f08456ec27ea98ecdb8c
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2024-06-18 (Tue, 18 Jun 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/IR/Globals.cpp
    M llvm/test/CodeGen/PowerPC/tocdata-firm-alignment.ll

  Log Message:
  -----------
  [PowerPC] Alignment of toc-data symbol should not be increased during optimizations (#94593)

Currently, the alignment of toc-data symbol might be changed during
instcombine
```
IC: Visiting:   %global = alloca %struct.widget, align 8                                                                                         
Found alloca equal to global:   %global = alloca %struct.widget, align 8                                                                         
  memcpy =   call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %global, ptr align 1 @global, i64 3, i1 false)
```
The `alloca` is created with `PrefAlign` which is 8 and after IC, the
alignment of `@global` is enforced into `8`, same as the `alloca`. This
is not expected, since toc-data symbol has the same alignment as toc
entry and should not be increased during optimizations.

---------

Co-authored-by: Sean Fertile <sd.fertile at gmail.com>
Co-authored-by: Eli Friedman <efriedma at quicinc.com>



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