Commit 8371222
[CIR] Fix handling of varargs and void-return builtins in intrinsic t… (#2021)
Fix several issues in CIR intrinsic type construction for built-in
functions such as printf (variadic) and void-return intrinsics.
- Treat IITDescriptor::VarArg as a terminator marker rather than a type.
It is now handled correctly in getIntrinsicType instead of
decodeFixedType.
- Added support for marking CIR function types as variadic.
- Added proper handling of builtins returning void: CIRFuncType now
omits an explicit void return type when appropriate.
- Ensures correct CIR signatures for OpenCL and C built-ins that use
ellipsis (printf) or return void (e.g. printf).
Co-authored-by: Mahmood Yassin <[email protected]>1 parent e8f6d60 commit 8371222
1 file changed
+16
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
475 | 475 | | |
476 | 476 | | |
477 | 477 | | |
478 | | - | |
| 478 | + | |
| 479 | + | |
479 | 480 | | |
480 | 481 | | |
481 | 482 | | |
| |||
577 | 578 | | |
578 | 579 | | |
579 | 580 | | |
580 | | - | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
581 | 588 | | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
582 | 595 | | |
583 | | - | |
| 596 | + | |
584 | 597 | | |
585 | 598 | | |
586 | 599 | | |
| |||
0 commit comments