[llvm] [SPIRV] Support for SPV_INTEL_fpga_reg extension (PR #134352)
Dmitry Sidorov via llvm-commits
llvm-commits at lists.llvm.org
Tue May 6 06:58:29 PDT 2025
================
@@ -0,0 +1,329 @@
+; LLVM IR for the test can be generated by SYCL Clang Compiler -
+; see https://github.com/intel/llvm
+; SYCL source code can be found below:
+
+; struct st {
+; int a;
+; float b;
+; };
+;
+; union un {
+; int a;
+; char c[4];
+; };
+;
+; class A {
+; public:
+; A(int a) {
+; m_val = a;
+; }
+; A(const A &a) {
+; m_val = a.m_val;
+; }
+; private:
+; int m_val;
+; };
+;
+; typedef int myInt;
+
+; void foo() {
+; int a=123;
+; myInt myA = 321;
+; int b = __builtin_intel_fpga_reg(a);
+; int myB = __builtin_intel_fpga_reg(myA);
+; int c = __builtin_intel_fpga_reg(2.0f);
+; int d = __builtin_intel_fpga_reg( __builtin_intel_fpga_reg( b+12 ));
+; int e = __builtin_intel_fpga_reg( __builtin_intel_fpga_reg( a+b ));
+; int f;
+; f = __builtin_intel_fpga_reg(a);
+;
+; struct st i = {1, 5.0f};
+; struct st i2 = i;
+; struct st ii = __builtin_intel_fpga_reg(i);
+; struct st iii;
+; iii = __builtin_intel_fpga_reg(ii);
+;
+; struct st *iiii = __builtin_intel_fpga_reg(&iii);
+;
+; union un u1 = {1};
+; union un u2, *u3;
+; u2 = __builtin_intel_fpga_reg(u1);
+;
+; u3 = __builtin_intel_fpga_reg(&u2);
+;
+; A ca(213);
+; A cb = __builtin_intel_fpga_reg(ca);
+; }
----------------
MrSidims wrote:
Lets remove this.
https://github.com/llvm/llvm-project/pull/134352
More information about the llvm-commits
mailing list