No, understanding what the language is doing is not the same as looking at assembly or even understanding what the optimizer is doing.
If swift is creating some variables on the heap and/or creating virtual tables for inheritance (I don't know much about it) then you don't need to look at the assembly to know that you are creating indirection or doing too many heap allocations.
Isn't the best to find out to look at the assembly? How else can you know what the compiler and optimizer are doing?