aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineScheduler.cpp
diff options
context:
space:
mode:
authoralx32 <103613512+alx32@users.noreply.github.com>2024-07-08 14:10:50 -0700
committerGitHub <noreply@github.com>2024-07-08 14:10:50 -0700
commite97bd0300b57547774c5cfe6fe84ebd0efc421ec (patch)
treed2bd1e978e9c305c1e898e70ca96ae130b103d81 /llvm/lib/CodeGen/MachineScheduler.cpp
parent7f0d9bae9d1cfdd1c275b6c20fa1b4ed7e6e644f (diff)
downloadllvm-e97bd0300b57547774c5cfe6fe84ebd0efc421ec.zip
llvm-e97bd0300b57547774c5cfe6fe84ebd0efc421ec.tar.gz
llvm-e97bd0300b57547774c5cfe6fe84ebd0efc421ec.tar.bz2
[lld-macho] Category Merging: Detect correct class language for classes with aliased symbols (#97454)
Currently we rely on detecting the source language of a class by the name of the symbol pointing to it. This generally works, but there are scenarios where Swift generates both an ObjC name and a Swift name for the symbol - by aliasing the ObjC name to the Swift name, as follows: ``` .globl _OBJC_CLASS_$__TtC11MyTestClass11MyTestClass .private_extern _OBJC_CLASS_$__TtC11MyTestClass11MyTestClass .set _OBJC_CLASS_$__TtC11MyTestClass11MyTestClass, _$s11MyTestClassAACN ``` So to correctly detect the source language in all cases, we need to handle scenarios where both an ObjC symbol and a Swift symbol is defined for a class - in this case the symbol is always a Swift class.
Diffstat (limited to 'llvm/lib/CodeGen/MachineScheduler.cpp')
0 files changed, 0 insertions, 0 deletions