        .text
        .intel_syntax noprefix
        .file   "example.cpp"
        .file   1 "/opt/compiler-explorer/libs/abseil/absl/types" "optional.h"
        .file   2 "/opt/compiler-explorer/libs/abseil/absl/types/internal" "optional.h"
        .file   3 "/opt/compiler-explorer/libs/abseil/absl/base/internal" "identity.h"
        .file   4 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0/ext" "concurrence.h"
        .file   5 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0/debug" "debug.h"
        .file   6 "/usr/include" "stdlib.h"
        .file   7 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits" "std_abs.h"
        .file   8 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0" "cstdlib"
        .file   9 "/usr/include/x86_64-linux-gnu/bits" "stdlib-float.h"
        .file   10 "/usr/include/x86_64-linux-gnu/bits" "stdlib-bsearch.h"
        .file   11 "/opt/compiler-explorer/clang-8.0.0/lib/clang/8.0.0/include" "stddef.h"
        .file   12 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits" "exception_ptr.h"
        .file   13 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0/x86_64-linux-gnu/bits" "c++config.h"
        .file   14 "/usr/include/x86_64-linux-gnu/bits/types" "__mbstate_t.h"
        .file   15 "/usr/include/x86_64-linux-gnu/bits/types" "mbstate_t.h"
        .file   16 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0" "cwchar"
        .file   17 "/usr/include/x86_64-linux-gnu/bits/types" "wint_t.h"
        .file   18 "/usr/include" "wchar.h"
        .file   19 "/usr/include/x86_64-linux-gnu/bits" "libio.h"
        .file   20 "/usr/include/x86_64-linux-gnu/bits" "types.h"
        .file   21 "/usr/include/x86_64-linux-gnu/bits/types" "__FILE.h"
        .file   22 "/usr/include/x86_64-linux-gnu/bits" "stdint-intn.h"
        .file   23 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0" "cstdint"
        .file   24 "/usr/include" "stdint.h"
        .file   25 "/usr/include/x86_64-linux-gnu/bits" "stdint-uintn.h"
        .file   26 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0/ext" "new_allocator.h"
        .file   27 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0" "clocale"
        .file   28 "/usr/include" "locale.h"
        .file   29 "/usr/include" "ctype.h"
        .file   30 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0" "cctype"
        .file   31 "/usr/include/x86_64-linux-gnu/bits/types" "FILE.h"
        .file   32 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0" "cstdio"
        .file   33 "/usr/include/x86_64-linux-gnu/bits" "_G_config.h"
        .file   34 "/usr/include" "stdio.h"
        .file   35 "/usr/include/x86_64-linux-gnu/bits" "stdio.h"
        .file   36 "/opt/compiler-explorer/clang-8.0.0/lib/clang/8.0.0/include" "__stddef_max_align_t.h"
        .file   37 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0" "cstddef"
        .file   38 "/usr/include" "string.h"
        .file   39 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0" "cstring"
        .file   40 "/usr/include" "wctype.h"
        .file   41 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0" "cwctype"
        .file   42 "/usr/include/x86_64-linux-gnu/bits" "wctype-wchar.h"
        .file   43 "/opt/compiler-explorer/libs/abseil/absl/meta" "type_traits.h"
        .file   44 "/opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits" "shared_ptr_base.h"
        .globl  _ZN1C8SetValueEN4absl8optionalINS0_11string_viewEEE # -- Begin function _ZN1C8SetValueEN4absl8optionalINS0_11string_viewEEE
        .p2align        4, 0x90
        .type   _ZN1C8SetValueEN4absl8optionalINS0_11string_viewEEE,@function
_ZN1C8SetValueEN4absl8optionalINS0_11string_viewEEE: # @_ZN1C8SetValueEN4absl8optionalINS0_11string_viewEEE
.Lfunc_begin0:
        .file   45 "/tmp/compiler-explorer-compiler119330-63-nhwu9o.wqr5f" "example.cpp"
        .loc    45 50 0                 # example.cpp:50:0
        .cfi_startproc
# %bb.0:
        push    rbx
        .cfi_def_cfa_offset 16
        .cfi_offset rbx, -16
        #DEBUG_VALUE: SetValue:this <- $rdi
.Ltmp0:
        #DEBUG_VALUE: emplace<absl::string_view &, void>:this <- $rdi
        #DEBUG_VALUE: construct<absl::string_view &>:this <- $rdi
        #DEBUG_VALUE: operator=:this <- $rdi
        #DEBUG_VALUE: destruct:this <- $rdi
        mov     rbx, rdi
.Ltmp1:
        #DEBUG_VALUE: destruct:this <- $rbx
        #DEBUG_VALUE: operator=:this <- $rbx
        #DEBUG_VALUE: construct<absl::string_view &>:this <- $rbx
        #DEBUG_VALUE: emplace<absl::string_view &, void>:this <- $rbx
        #DEBUG_VALUE: operator bool:this <- [DW_OP_plus_uconst 16] [$rsp+0]
        #DEBUG_VALUE: SetValue:this <- $rbx
        .loc    1 447 68 prologue_end   # /opt/compiler-explorer/libs/abseil/absl/types/optional.h:447:68
        cmp     byte ptr [rsp + 16], 0
.Ltmp2:
        .loc    45 0 0 is_stmt 0        # example.cpp:0:0
        mov     al, byte ptr [rdi]
.Ltmp3:
        .loc    45 54 7 is_stmt 1       # example.cpp:54:7
        je      .LBB0_4
.Ltmp4:
# %bb.1:
        #DEBUG_VALUE: SetValue:this <- $rbx
        .loc    45 0 7 is_stmt 0        # example.cpp:0:7
        lea     rcx, [rsp + 16]
.Ltmp5:
        lea     rdi, [rbx + 8]
        mov     rsi, qword ptr [rcx + 8]
        mov     rdx, qword ptr [rcx + 16]
.Ltmp6:
        test    al, al
.Ltmp7:
        .loc    45 55 9 is_stmt 1       # example.cpp:55:9
        je      .LBB0_3
.Ltmp8:
# %bb.2:
        #DEBUG_VALUE: SetValue:this <- $rbx
        .loc    45 56 15                # example.cpp:56:15
        call    _ZN6string6assignEPKcm
.Ltmp9:
        .loc    45 64 1                 # example.cpp:64:1
        pop     rbx
.Ltmp10:
        .cfi_def_cfa_offset 8
        ret
.LBB0_4:
        .cfi_def_cfa_offset 16
.Ltmp11:
        #DEBUG_VALUE: SetValue:this <- $rbx
        #DEBUG_VALUE: operator=:this <- $rbx
        #DEBUG_VALUE: destruct:this <- $rbx
        .loc    45 0 0 is_stmt 0        # example.cpp:0:0
        test    al, al
.Ltmp12:
        .loc    2 92 9 is_stmt 1        # /opt/compiler-explorer/libs/abseil/absl/types/internal/optional.h:92:9
        je      .LBB0_6
.Ltmp13:
# %bb.5:
        #DEBUG_VALUE: SetValue:this <- $rbx
        #DEBUG_VALUE: operator=:this <- $rbx
        #DEBUG_VALUE: destruct:this <- $rbx
        .loc    2 93 7                  # /opt/compiler-explorer/libs/abseil/absl/types/internal/optional.h:93:7
        lea     rdi, [rbx + 8]
        .loc    2 93 14 is_stmt 0       # /opt/compiler-explorer/libs/abseil/absl/types/internal/optional.h:93:14
        call    _ZN6stringD1Ev
        .loc    2 94 16 is_stmt 1       # /opt/compiler-explorer/libs/abseil/absl/types/internal/optional.h:94:16
        mov     byte ptr [rbx], 0
.Ltmp14:
.LBB0_6:
        #DEBUG_VALUE: SetValue:this <- $rbx
        .loc    45 64 1                 # example.cpp:64:1
        pop     rbx
.Ltmp15:
        .cfi_def_cfa_offset 8
        ret
.LBB0_3:
        .cfi_def_cfa_offset 16
.Ltmp16:
        #DEBUG_VALUE: SetValue:this <- $rbx
        .loc    2 152 47                # /opt/compiler-explorer/libs/abseil/absl/types/internal/optional.h:152:47
        call    _ZN6stringC1EN4absl11string_viewE
        .loc    2 153 20                # /opt/compiler-explorer/libs/abseil/absl/types/internal/optional.h:153:20
        mov     byte ptr [rbx], 1
.Ltmp17:
        .loc    45 64 1                 # example.cpp:64:1
        pop     rbx
.Ltmp18:
        .cfi_def_cfa_offset 8
        ret
.Ltmp19:
.Lfunc_end0:
        .size   _ZN1C8SetValueEN4absl8optionalINS0_11string_viewEEE, .Lfunc_end0-_ZN1C8SetValueEN4absl8optionalINS0_11string_viewEEE
        .cfi_endproc
