This patch introduces calls to llvm.dbg.value for all local variables,
regardless of whether they are in memory or registers. We translate
go/ssa's DebugRef instructions directly, only where the target expression
is an identifier. go/ssa only generates DebugRef instructions for
referenced variables; the only local variables that may exist in a
function without being referenced are parameters, so we generate initial
calls for each decoded argument.
The "Debug Info Version" module flag has been bumped up to 2, to
match trunk LLVM's version.
We no longer emit source locations until the body has been entered.
This will cause debuggers to process the initial instructions when
breaking on the function.
The cwd changes seem unrelated. Can you move those to a separate revision, please?