summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2016-06-24 17:55:40 +0000
committerReid Kleckner <rnk@google.com>2016-06-24 17:55:40 +0000
commit10dd55c548e802f3d1769f7e4e13bb1565b824e5 (patch)
tree97124ad2490db265e6ddd6727f2ba9d35a7d0801 /llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
parentfbaab6d57300243438b38b9879e49460f3889fe0 (diff)
downloadbcm5719-llvm-10dd55c548e802f3d1769f7e4e13bb1565b824e5.tar.gz
bcm5719-llvm-10dd55c548e802f3d1769f7e4e13bb1565b824e5.zip
[codeview] Emit parameter variables in the right order
Clang emits them in reverse order to conform to the ABI, which requires left-to-right destruction. As a result, the order doesn't fall out naturally, and we have to sort things out in the backend. Fixes PR28213 llvm-svn: 273696
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
index 53493725c13..51dd5df1027 100644
--- a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
+++ b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
@@ -220,6 +220,10 @@ class LLVM_LIBRARY_VISIBILITY CodeViewDebug : public DebugHandlerBase {
/// particular, locals from inlined code live inside the inlining site.
void recordLocalVariable(LocalVariable &&Var, const DILocation *Loc);
+ /// Emits local variables in the appropriate order.
+ void emitLocalVariableList(ArrayRef<LocalVariable> Locals);
+
+ /// Emits an S_LOCAL record and its associated defined ranges.
void emitLocalVariable(const LocalVariable &Var);
/// Translates the DIType to codeview if necessary and returns a type index
OpenPOWER on IntegriCloud