[swift-dev] SIL to IR lowering

Douglas Gregor dgregor at apple.com
Fri Sep 9 11:27:38 CDT 2016


> On Sep 8, 2016, at 1:17 PM, Rebecca Chen via swift-dev <swift-dev at 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.  


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



More information about the swift-dev mailing list