You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[SYCL][FPGA] Add support for two new function attributes (#3441)
This patch implements the support for two new FPGA function attributes:
1. disable_loop_pipelining
2. initiation_interval
Both attributes alreday exist for loops as statement attributes.
Function attribute "initiation_interval" takes a single unsigned integer argument.
Syntax:
[[intel::initiation_interval(n)]] void foo() {}
The argument can be constexpr. The parameter n is a template parameter.
The LLVM IR representation will be function metadata:
!initiation_interval !0
!0 = !{!i32 n}
Function attribute "disable_loop_pipelining" takes no arguments.
Syntax:
[[intel::disable_loop_pipelining]] void foo() {}
The LLVM IR representation will be function metadata:
!disable_loop_pipelining !0
!0 = !{!i32 1}
Both attributes are only valid in device code and do not get propagated to the caller.
The function attributes apply to a lambda function, or function definition.
Signed-off-by: Soumi Manna <[email protected]>
0 commit comments