@@ -209,10 +209,11 @@ BUILTIN_BINARY_PREDICATE(FCMP_ULE, "fcmp_ule", "n", FloatOrVector)
209209BUILTIN_BINARY_PREDICATE(FCMP_UNE, " fcmp_une"  , " n"  , FloatOrVector)
210210BUILTIN_BINARY_PREDICATE(FCMP_UNO, " fcmp_uno"  , " n"  , FloatOrVector)
211211
212- //  BUILTIN_SIL_OPERATION - Operations that can be lowered to SIL instructions.
213- //  These have various types.
214- //  Since these operations will be lowered to SIL Instructions, we do not
215- //  assign any attributes on them.
212+ //  BUILTIN_SIL_OPERATION - Operations that can be lowered to SIL
213+ //  instructions. They can never be invoked via a BuiltinInst and are instead
214+ //  expected to just be used by SILGen to emit sequences of non-BuiltinInst
215+ //  instructions. These have various types. Since these operations will be
216+ //  lowered to SIL Instructions, we do not assign any attributes on them.
216217#ifndef  BUILTIN_SIL_OPERATION
217218#define  BUILTIN_SIL_OPERATION (Id, Name, Overload ) BUILTIN(Id, Name, " "  )
218219#endif 
@@ -558,8 +559,9 @@ BUILTIN_RUNTIME_CALL(ErrorInMain, "errorInMain", "")
558559// / nominal type is Optional.
559560BUILTIN_RUNTIME_CALL(IsOptionalType, " isOptional"  , " "  )
560561
561- //  BUILTIN_MISC_OPERATION - Miscellaneous operations without a unifying class.
562- //  These have various types.
562+ // / BUILTIN_MISC_OPERATION - Miscellaneous operations without a unifying class.
563+ // / These have various types. They are emitted as BuiltinInst in a standard way
564+ // / by SILGen.
563565#ifndef  BUILTIN_MISC_OPERATION
564566#define  BUILTIN_MISC_OPERATION (Id, Name, Attrs, Overload ) \
565567          BUILTIN (Id, Name, Attrs)
0 commit comments