DebugInfo: Don't lose unreferenced non-trivial by-value parameters
authorDavid Blaikie <dblaikie@gmail.com>
Fri, 21 Jun 2013 22:56:30 +0000 (22:56 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Fri, 21 Jun 2013 22:56:30 +0000 (22:56 +0000)
commit1948910e3186d31bc0d213ecd0d7e87bb2c2760d
tree72933564b70b854dfc26c146d92c8743e87da24c
parentb37e50b6601c0551b36d59b01fe80b9acd4703e5
DebugInfo: Don't lose unreferenced non-trivial by-value parameters

A FastISel optimization was causing us to emit no information for such
parameters & when they go missing we end up emitting a different
function type. By avoiding that shortcut we not only get types correct
(very important) but also location information (handy) - even if it's
only live at the start of a function & may be clobbered later.

Reviewed/discussion by Evan Cheng & Dan Gohman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184604 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/FastISel.cpp
lib/Target/ARM/ARMFastISel.cpp
lib/Target/X86/X86FastISel.cpp
test/CodeGen/ARM/fast-isel-call.ll
test/DebugInfo/arguments.ll [new file with mode: 0644]