Fangrui Song 28bda77843
Introduce MCAsmInfo::UsesSetToEquateSymbol and prefer = to .set
Introduce MCAsmInfo::UsesSetToEquateSymbol to control the preferred
syntax for symbol equating. We now favor the more readable and common
`symbol = expression` syntax over `.set`. This aligns with pre- https://reviews.llvm.org/D44256 behavior.

On Apple platforms, this resolves a clang -S vs -c behavior difference (resolves #104623).

For targets whose = support is unconfirmed, UsesSetToEquateSymbol is set to false.
This also minimizes test updates.

Pull Request: https://github.com/llvm/llvm-project/pull/142289
2025-06-11 22:19:31 -07:00

30 lines
1.1 KiB
LLVM

; RUN: llc < %s -mtriple=aarch64-windows | FileCheck %s
; EHCont Guard is currently only available on Windows
; CHECK: "@feat.00" = 16384
; CHECK: .section .gehcont$y
define dso_local void @"?func1@@YAXXZ"() #0 personality ptr @__CxxFrameHandler3 {
entry:
invoke void @"?func2@@YAXXZ"()
to label %invoke.cont unwind label %catch.dispatch
catch.dispatch: ; preds = %entry
%0 = catchswitch within none [label %catch] unwind to caller
catch: ; preds = %catch.dispatch
%1 = catchpad within %0 [ptr null, i32 64, ptr null]
catchret from %1 to label %catchret.dest
catchret.dest: ; preds = %catch
br label %try.cont
try.cont: ; preds = %catchret.dest, %invoke.cont
ret void
invoke.cont: ; preds = %entry
br label %try.cont
}
declare dso_local void @"?func2@@YAXXZ"() #1
declare dso_local i32 @__CxxFrameHandler3(...)
!llvm.module.flags = !{!0}
!0 = !{i32 1, !"ehcontguard", i32 1}