MIR: Serialize CaleeSavedInfo Restored flag

llvm-svn: 314449
diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
index 10cdadd..98f6d21 100644
--- a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
+++ b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
@@ -32,14 +32,14 @@
 ; CHECK-LABEL: name: allocai64
 ; CHECK: stack:
 ; CHECK-NEXT:   - { id: 0, name: ptr1, type: default, offset: 0, size: 8, alignment: 8,
-; CHECK-NEXT:       stack-id: 0, callee-saved-register: '', di-variable: '', di-expression: '',
-; CHECK-NEXT:       di-location: '' }
+; CHECK-NEXT:       stack-id: 0, callee-saved-register: '', callee-saved-restored: true,
+; CHECK-NEXT: di-variable: '', di-expression: '', di-location: '' }
 ; CHECK-NEXT:   - { id: 1, name: ptr2, type: default, offset: 0, size: 8, alignment: 1,
-; CHECK-NEXT:       stack-id: 0, callee-saved-register: '', di-variable: '', di-expression: '',
-; CHECK-NEXT:       di-location: '' }
+; CHECK-NEXT:       stack-id: 0, callee-saved-register: '', callee-saved-restored: true,
+; CHECK-NEXT:       di-variable: '', di-expression: '', di-location: '' }
 ; CHECK-NEXT:   - { id: 2, name: ptr3, type: default, offset: 0, size: 128, alignment: 8,
-; CHECK-NEXT:       stack-id: 0, callee-saved-register: '', di-variable: '', di-expression: '',
-; CHECK-NEXT:       di-location: '' }
+; CHECK-NEXT:       stack-id: 0, callee-saved-register: '', callee-saved-restored: true,
+; CHECK-NEXT:       di-variable: '', di-expression: '', di-location: '' }
 ; CHECK-NEXT:   - { id: 3, name: ptr4, type: default, offset: 0, size: 1, alignment: 8,
 ; CHECK: %{{[0-9]+}}(p0) = G_FRAME_INDEX %stack.0.ptr1
 ; CHECK: %{{[0-9]+}}(p0) = G_FRAME_INDEX %stack.1.ptr2
diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/debug-insts.ll b/llvm/test/CodeGen/AArch64/GlobalISel/debug-insts.ll
index cd32cb4..8959ce2 100644
--- a/llvm/test/CodeGen/AArch64/GlobalISel/debug-insts.ll
+++ b/llvm/test/CodeGen/AArch64/GlobalISel/debug-insts.ll
@@ -4,7 +4,8 @@
 ; CHECK-LABEL: name: debug_declare
 ; CHECK: stack:
 ; CHECK:    - { id: {{.*}}, name: in.addr, type: default, offset: 0, size: {{.*}}, alignment: {{.*}}, 
-; CHECK-NEXT: callee-saved-register: '', di-variable: '!11', di-expression: '!DIExpression()',
+; CHECK-NEXT: callee-saved-register: '', callee-saved-restored: true,
+; CHECK-NEXT: di-variable: '!11', di-expression: '!DIExpression()',
 ; CHECK: DBG_VALUE debug-use %0(s32), debug-use _, !11, !DIExpression(), debug-location !12
 define void @debug_declare(i32 %in) #0 !dbg !7 {
 entry:
diff --git a/llvm/test/CodeGen/ARM/ARMLoadStoreDBG.mir b/llvm/test/CodeGen/ARM/ARMLoadStoreDBG.mir
index cf5388a..1ff3bff 100644
--- a/llvm/test/CodeGen/ARM/ARMLoadStoreDBG.mir
+++ b/llvm/test/CodeGen/ARM/ARMLoadStoreDBG.mir
@@ -114,8 +114,8 @@
   hasVAStart:      false
   hasMustTailInVarArgFunc: false
 stack:
-  - { id: 0, type: spill-slot, offset: -4, size: 4, alignment: 4, callee-saved-register: '%lr' }
-  - { id: 1, type: spill-slot, offset: -8, size: 4, alignment: 4, callee-saved-register: '%r7' }
+  - { id: 0, type: spill-slot, offset: -4, size: 4, alignment: 4, callee-saved-register: '%lr', callee-saved-restored: false }
+  - { id: 1, type: spill-slot, offset: -8, size: 4, alignment: 4, callee-saved-register: '%r7', callee-saved-restored: true }
 body:             |
   bb.0.entry:
     liveins: %r0, %r1, %r2, %r3, %lr, %r7
diff --git a/llvm/test/CodeGen/MIR/AArch64/stack-object-local-offset.mir b/llvm/test/CodeGen/MIR/AArch64/stack-object-local-offset.mir
index 06e0c80..6fc92e7 100644
--- a/llvm/test/CodeGen/MIR/AArch64/stack-object-local-offset.mir
+++ b/llvm/test/CodeGen/MIR/AArch64/stack-object-local-offset.mir
@@ -26,8 +26,8 @@
 # CHECK-LABEL: stack_local
 # CHECK: stack:
 # CHECK: - { id: 0, name: local_var, type: default, offset: 0, size: 8, alignment: 8,
-# CHECK-NEXT: stack-id: 0, callee-saved-register: '', local-offset: -8, di-variable: '',
-# CHECK-NEXT: di-expression: '', di-location: '' }
+# CHECK-NEXT: stack-id: 0, callee-saved-register: '', callee-saved-restored: true,
+# CHECK-NEXT: local-offset: -8, di-variable: '', di-expression: '', di-location: '' }
 stack:
   - { id: 0,name: local_var,offset: 0,size: 8,alignment: 8, local-offset: -8 }
 body: |
diff --git a/llvm/test/CodeGen/MIR/X86/callee-saved-info.mir b/llvm/test/CodeGen/MIR/X86/callee-saved-info.mir
index 2a62b4e..8864651 100644
--- a/llvm/test/CodeGen/MIR/X86/callee-saved-info.mir
+++ b/llvm/test/CodeGen/MIR/X86/callee-saved-info.mir
@@ -50,15 +50,16 @@
   adjustsStack:    true
   hasCalls:        true
 # CHECK: fixedStack:
-# CHECK: callee-saved-register: '%rbx' }
+# CHECK: callee-saved-register: '%rbx', callee-saved-restored: true }
 fixedStack:
   - { id: 0, type: spill-slot, offset: -16, size: 8, alignment: 16, callee-saved-register: '%rbx' }
 # CHECK: stack:
 # CHECK-NEXT: - { id: 0
-# CHECK: callee-saved-register: '%edi'
+# CHECK: callee-saved-register: '%edi', callee-saved-restored: false
 stack:
   - { id: 0, name: b, offset: -20, size: 4, alignment: 4 }
-  - { id: 1, offset: -24, size: 4, alignment: 4, callee-saved-register: '%edi' }
+  - { id: 1, offset: -24, size: 4, alignment: 4, callee-saved-register: '%edi',
+      callee-saved-restored: false }
 body: |
   bb.0.entry:
     successors: %bb.1.check
diff --git a/llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-objects.mir b/llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-objects.mir
index 86e735e..b292a02 100644
--- a/llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-objects.mir
+++ b/llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-objects.mir
@@ -20,7 +20,7 @@
   maxAlignment:    4
 # CHECK: fixedStack:
 # CHECK-NEXT: - { id: 0, type: spill-slot, offset: 0, size: 4, alignment: 4, stack-id: 0,
-# CHECK-NEXT: callee-saved-register: '' }
+# CHECK-NEXT: callee-saved-register: '', callee-saved-restored: true }
 fixedStack:
   - { id: 0, type: spill-slot, offset: 0, size: 4, alignment: 4 }
 stack:
diff --git a/llvm/test/CodeGen/MIR/X86/stack-object-debug-info.mir b/llvm/test/CodeGen/MIR/X86/stack-object-debug-info.mir
index 5c70582..554d73b 100644
--- a/llvm/test/CodeGen/MIR/X86/stack-object-debug-info.mir
+++ b/llvm/test/CodeGen/MIR/X86/stack-object-debug-info.mir
@@ -51,8 +51,8 @@
 # CHECK-LABEL: foo
 # CHECK: stack:
 # CHECK:  - { id: 0, name: y.i, type: default, offset: 0, size: 256, alignment: 16,
-# CHECK-NEXT: callee-saved-register: '', di-variable: '!4', di-expression: '!DIExpression()',
-# CHECK-NEXT: di-location: '!10' }
+# CHECK-NEXT: callee-saved-register: '', callee-saved-restored: true,
+# CHECK-NEXT: di-variable: '!4', di-expression: '!DIExpression()', di-location: '!10' }
 stack:
   - { id: 0, name: y.i, offset: 0, size: 256, alignment: 16, di-variable: '!4',
       di-expression: '!DIExpression()', di-location: '!7' }
diff --git a/llvm/test/CodeGen/MIR/X86/stack-objects.mir b/llvm/test/CodeGen/MIR/X86/stack-objects.mir
index ea3e841..a8492a8 100644
--- a/llvm/test/CodeGen/MIR/X86/stack-objects.mir
+++ b/llvm/test/CodeGen/MIR/X86/stack-objects.mir
@@ -22,14 +22,14 @@
   maxAlignment:    8
 # CHECK: stack:
 # CHECK-NEXT: - { id: 0, name: b, type: default, offset: -12, size: 4, alignment: 4,
-# CHECK-NEXT: stack-id: 0, callee-saved-register: '', di-variable: '', di-expression: '',
-# CHECK-NEXT: di-location: '' }
+# CHECK-NEXT: stack-id: 0, callee-saved-register: '', callee-saved-restored: true,
+# CHECK-NEXT: di-variable: '', di-expression: '', di-location: '' }
 # CHECK-NEXT: - { id: 1, name: x, type: default, offset: -24, size: 8, alignment: 8,
-# CHECK-NEXT: stack-id: 0, callee-saved-register: '', di-variable: '', di-expression: '',
-# CHECK-NEXT: di-location: '' }
+# CHECK-NEXT: stack-id: 0, callee-saved-register: '', callee-saved-restored: true,
+# CHECK-NEXT: di-variable: '', di-expression: '', di-location: '' }
 # CHECK-NEXT: - { id: 2, name: '', type: spill-slot, offset: -32, size: 4, alignment: 4,
-# CHECK-NEXT: stack-id: 0, callee-saved-register: '', di-variable: '', di-expression: '',
-# CHECK-NEXT: di-location: '' }
+# CHECK-NEXT: stack-id: 0, callee-saved-register: '', callee-saved-restored: true,
+# CHECK-NEXT: di-variable: '', di-expression: '', di-location: '' }
 stack:
   - { id: 0, name: b, offset: -12, size: 4, alignment: 4 }
   - { id: 1, name: x, offset: -24, size: 8, alignment: 8 }
diff --git a/llvm/test/CodeGen/MIR/X86/variable-sized-stack-objects.mir b/llvm/test/CodeGen/MIR/X86/variable-sized-stack-objects.mir
index 726ea87..e3c331a 100644
--- a/llvm/test/CodeGen/MIR/X86/variable-sized-stack-objects.mir
+++ b/llvm/test/CodeGen/MIR/X86/variable-sized-stack-objects.mir
@@ -25,11 +25,11 @@
   adjustsStack:    true
 # CHECK: stack:
 # CHECK-NEXT: - { id: 0, name: '', type: default, offset: -20, size: 4, alignment: 4,
-# CHECK-NEXT:  stack-id: 0, callee-saved-register: '', di-variable: '', di-expression: '',
-# CHECK-NEXT: di-location: '' }
+# CHECK-NEXT:  stack-id: 0, callee-saved-register: '', callee-saved-restored: true,
+# CHECK-NEXT: di-variable: '', di-expression: '', di-location: '' }
 # CHECK-NEXT: - { id: 1, name: '', type: default, offset: -32, size: 8, alignment: 8,
-# CHECK-NEXT:  stack-id: 0, callee-saved-register: '', di-variable: '', di-expression: '',
-# CHECK-NEXT: di-location: '' }
+# CHECK-NEXT:  stack-id: 0, callee-saved-register: '', callee-saved-restored: true,
+# CHECK-NEXT: di-variable: '', di-expression: '', di-location: '' }
 # CHECK-NEXT: - { id: 2, name: y, type: variable-sized, offset: -32, alignment: 1,
 stack:
   - { id: 0, offset: -20, size: 4, alignment: 4 }
diff --git a/llvm/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll b/llvm/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll
index 6e38e55..7ce349c 100644
--- a/llvm/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll
+++ b/llvm/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll
@@ -703,9 +703,9 @@
 
 ; X32:      fixedStack:      
 ; X32-NEXT:  - { id: 0, type: default, offset: 4, size: 4, alignment: 4, stack-id: 0, 
-; X32-NEXT:      isImmutable: true, isAliased: false, callee-saved-register: '' }
+; X32-NEXT:      isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true }
 ; X32-NEXT:  - { id: 1, type: default, offset: 0, size: 4, alignment: 16, stack-id: 0, 
-; X32-NEXT:      isImmutable: true, isAliased: false, callee-saved-register: '' }
+; X32-NEXT:      isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true }
 ; X32:         %2(p0) = G_FRAME_INDEX %fixed-stack.1
 ; X32-NEXT:    %0(p0) = G_LOAD %2(p0) :: (invariant load 4 from %fixed-stack.1, align 0)
 ; X32-NEXT:    %3(p0) = G_FRAME_INDEX %fixed-stack.0
@@ -748,9 +748,9 @@
 
 ; X32:      fixedStack:      
 ; X32-NEXT:  - { id: 0, type: default, offset: 4, size: 4, alignment: 4, stack-id: 0, 
-; X32-NEXT:      isImmutable: true, isAliased: false, callee-saved-register: '' }
+; X32-NEXT:      isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true }
 ; X32-NEXT:  - { id: 1, type: default, offset: 0, size: 4, alignment: 16, stack-id: 0, 
-; X32-NEXT:      isImmutable: true, isAliased: false, callee-saved-register: '' }
+; X32-NEXT:      isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true }
 ; X32:         %2(p0) = G_FRAME_INDEX %fixed-stack.1
 ; X32-NEXT:    %0(p0) = G_LOAD %2(p0) :: (invariant load 4 from %fixed-stack.1, align 0)
 ; X32-NEXT:    %3(p0) = G_FRAME_INDEX %fixed-stack.0