> On Sep 9, 2016, at 9:27 AM, Douglas Gregor via swift-dev > <swift-dev@swift.org> wrote: > > >> On Sep 8, 2016, at 1:17 PM, Rebecca Chen via swift-dev <swift-dev@swift.org> >> wrote: >> >> I was wondering where the SIL to IR lowering code is in the Swift source >> code. > > That’s the responsibility of IRGen: > > https://github.com/apple/swift/tree/master/lib/IRGen > >> I am specifically looking for the code that lowers the function return >> types. For example, from Int to i64.
The one place that Int is lowered to i64 is when lowering C function signatures. This is done in IRGen/GenClangType.cpp. There’s a visitor that walks SIL types to produce corresponding Clang types when expanding the signature of a C function declaration or call. Slava > > > Technically, Int is a struct type defined in the standard library that looks > like this: > > struct Int { > var _value: Builtin.Int64 > } > > The lowering of a builtin integer type to an LLVM type is here: > > https://github.com/apple/swift/blob/master/lib/IRGen/GenType.cpp#L1256 > > - Doug > > _______________________________________________ > swift-dev mailing list > swift-dev@swift.org > https://lists.swift.org/mailman/listinfo/swift-dev _______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev