aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2020-07-17 10:27:14 +0100
committerFlorian Hahn <flo@fhahn.com>2020-07-17 10:27:43 +0100
commite297006d6f02f0f54a69223b98defde09c43158f (patch)
treed41c06c04e4c77b31a123b63187e021536bee813 /clang/lib/Frontend/CompilerInvocation.cpp
parent650baf22e69fff99bbfbea65edcd8e202b05fdff (diff)
downloadllvm-e297006d6f02f0f54a69223b98defde09c43158f.zip
llvm-e297006d6f02f0f54a69223b98defde09c43158f.tar.gz
llvm-e297006d6f02f0f54a69223b98defde09c43158f.tar.bz2
[ScheduleDAG] Move DBG_VALUEs after first term forward.
MBBs are not allowed to have non-terminator instructions after the first terminator. Currently in some cases (see the modified test), EmitSchedule can add DBG_VALUEs after the last terminator, for example when referring a debug value that gets folded into a TCRETURN instruction on ARM. This patch updates EmitSchedule to move inserted DBG_VALUEs just before the first terminator. I am not sure if there are terminators produce values that can in turn be used by a DBG_VALUE. In that case, moving the DBG_VALUE might result in referencing an undefined register. But in any case, it seems like currently there is no way to insert a proper DBG_VALUEs for such registers anyways. Alternatively it might make sense to just remove those extra DBG_VALUES. I am not too familiar with the details of debug info in the backend and would appreciate any suggestions on how to address the issue in the best possible way. Reviewers: vsk, aprantl, jpaquette, efriedma, paquette Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D83561
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions