This patch stems from D84112. This patch includes changes for SROA optimization.
I see what seem to be changes to codegen here (see inline comments), is that intentional? And if so, why is that needed for DW_OP_LLVM_explicit_pointer to work?
Why is this now permitted behaviour?
Is this necessary for the implicit pointer work?
Again, this block of code will need comments about its purpose adding.
This part looks like it's changing the code generated, replacing a GEP with an alloca. If that's the case, IMO this should be split out into a different patch (one for codegen, one for debuginfo), as any codegen change will need an independent argument as to why it's a good idea.
Plus, this would only be a codegen change for people building with dwarf-5, which would mean you get different code with and without the -g option to clang.
|424 ↗||(On Diff #279045)|
This should be folded into the previous patch (7?)