https://github.com/labrinea closed
https://github.com/llvm/llvm-project/pull/97761
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/tmatheson-arm approved this pull request.
https://github.com/llvm/llvm-project/pull/97761
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -261,9 +261,9 @@ __attribute__((target_version("jscvt"))) int
default_def_with_version_decls(void
// CHECK: attributes #[[ATTR3]] = { noinline nounwind optnone
"no-trapping-math"="true" "stack-protector-buffer-size"="8"
"target-features"="+lse,-v9.5a" }
// CHECK: attribute
labrinea wrote:
> It's really hard to tell what is changing here because the existing tests are
> so non-specific.
I appreciate that. The tests would benefit from some tidying up, we should
prioritize this at some point. In case it helps most of the test changes are
due to symbols being gener
@@ -4224,10 +4204,8 @@ void CodeGenModule::emitMultiVersionFunctions() {
llvm::Function *Func = createFunction(CurFD);
Options.emplace_back(Func, TA->getArchitecture(), Feats);
} else if (const auto *TVA = CurFD->getAttr()) {
-bool
@@ -4210,9 +4192,7 @@ void CodeGenModule::emitMultiVersionFunctions() {
return cast(Func);
};
-bool HasDefaultDecl = !FD->isTargetVersionMultiVersion();
-bool ShouldEmitResolver =
-!getContext().getTargetInfo().getTriple().isAArch64();
+bool Shoul
@@ -59,15 +59,22 @@ int bar() {
return m.goo(1) + foo(1) + foo();
}
+// Example to demonstrate that at the point of use we haven't yet seen the
default.
+// At that point a declaration for the unmangled symbol is emitted, which is
later
+// replaced by the ifunc symbol (on
@@ -11,7 +11,7 @@ int __attribute__((target_version("fp+aes"))) fmv(void) {
return 6; }
int __attribute__((target_version("crc+ls64_v"))) fmv(void) { return 7; }
int __attribute__((target_version("bti"))) fmv(void) { return 8; }
int __attribute__((target_version("sme2"))) fmv(
@@ -261,9 +261,9 @@ __attribute__((target_version("jscvt"))) int
default_def_with_version_decls(void
// CHECK: attributes #[[ATTR3]] = { noinline nounwind optnone
"no-trapping-math"="true" "stack-protector-buffer-size"="8"
"target-features"="+lse,-v9.5a" }
// CHECK: attribute
@@ -11,7 +11,7 @@ int __attribute__((target_version("fp+aes"))) fmv(void) {
return 6; }
int __attribute__((target_version("crc+ls64_v"))) fmv(void) { return 7; }
int __attribute__((target_version("bti"))) fmv(void) { return 8; }
int __attribute__((target_version("sme2"))) fmv(
@@ -59,15 +59,22 @@ int bar() {
return m.goo(1) + foo(1) + foo();
}
+// Example to demonstrate that at the point of use we haven't yet seen the
default.
+// At that point a declaration for the unmangled symbol is emitted, which is
later
+// replaced by the ifunc symbol (on
@@ -59,15 +59,22 @@ int bar() {
return m.goo(1) + foo(1) + foo();
}
+// Example to demonstrate that at the point of use we haven't yet seen the
default.
+// At that point a declaration for the unmangled symbol is emitted, which is
later
+// replaced by the ifunc symbol (on
@@ -4224,10 +4204,8 @@ void CodeGenModule::emitMultiVersionFunctions() {
llvm::Function *Func = createFunction(CurFD);
Options.emplace_back(Func, TA->getArchitecture(), Feats);
} else if (const auto *TVA = CurFD->getAttr()) {
-bool
@@ -59,15 +59,22 @@ int bar() {
return m.goo(1) + foo(1) + foo();
}
+// Example to demonstrate that at the point of use we haven't yet seen the
default.
+// At that point a declaration for the unmangled symbol is emitted, which is
later
+// replaced by the ifunc symbol (on
https://github.com/tmatheson-arm edited
https://github.com/llvm/llvm-project/pull/97761
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -4210,9 +4192,7 @@ void CodeGenModule::emitMultiVersionFunctions() {
return cast(Func);
};
-bool HasDefaultDecl = !FD->isTargetVersionMultiVersion();
-bool ShouldEmitResolver =
-!getContext().getTargetInfo().getTriple().isAArch64();
+bool Shoul
https://github.com/tmatheson-arm commented:
It's really hard to tell what is changing here because the existing tests are
so non-specific.
https://github.com/llvm/llvm-project/pull/97761
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://
@@ -261,9 +261,9 @@ __attribute__((target_version("jscvt"))) int
default_def_with_version_decls(void
// CHECK: attributes #[[ATTR3]] = { noinline nounwind optnone
"no-trapping-math"="true" "stack-protector-buffer-size"="8"
"target-features"="+lse,-v9.5a" }
// CHECK: attribute
https://github.com/jroelofs approved this pull request.
https://github.com/llvm/llvm-project/pull/97761
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/97761
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/97761
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
llvmbot wrote:
@llvm/pr-subscribers-clang-codegen
Author: Alexandros Lamprineas (labrinea)
Changes
It was raised in https://github.com/llvm/llvm-project/issues/81494 that we are
not generating correct code when there is no TU-local caller.
The suggestion was to emit a resolver:
* Wheneve
llvmbot wrote:
@llvm/pr-subscribers-clang
Author: Alexandros Lamprineas (labrinea)
Changes
It was raised in https://github.com/llvm/llvm-project/issues/81494 that we are
not generating correct code when there is no TU-local caller.
The suggestion was to emit a resolver:
* Whenever there
23 matches
Mail list logo