	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_struct_equiv_block_eq          ## -- Begin function struct_equiv_block_eq
	.p2align	4, 0x90
_struct_equiv_block_eq:                 ## @struct_equiv_block_eq
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %r14
	movl	%edi, %ebx
	movq	_STRUCT_EQUIV_START@GOTPCREL(%rip), %rax
	testl	%edi, (%rax)
	je	LBB0_3
## %bb.1:
	movl	116(%r14), %edi
	callq	_BB_HEAD
	movq	%rax, %r12
	movl	112(%r14), %edi
	callq	_BB_HEAD
	movq	%rax, %r15
	xorl	%eax, %eax
	testq	%r12, %r12
	je	LBB0_90
## %bb.2:
	testq	%r15, %r15
	jne	LBB0_4
	jmp	LBB0_90
LBB0_3:
	movq	24(%r14), %r12
	movq	32(%r14), %r15
LBB0_4:
	movl	%ebx, %edi
	movq	%r14, %rsi
	callq	_struct_equiv_init
	testl	%eax, %eax
	jne	LBB0_6
## %bb.5:
	xorl	%eax, %eax
	callq	_gcc_unreachable
LBB0_6:
	movl	116(%r14), %edi
	callq	_BB_END
	movq	%rax, %r13
	movq	%rax, %rdi
	callq	_onlyjump_p
	testq	%rax, %rax
	movl	%ebx, -56(%rbp)                 ## 4-byte Spill
	je	LBB0_7
LBB0_9:
	movq	%r13, 24(%r14)
	movq	%r13, %rdi
	callq	_PREV_INSN
	movq	%rax, %r13
LBB0_10:
	movl	112(%r14), %edi
	callq	_BB_END
	movq	%rax, %rbx
	movq	%rax, %rdi
	callq	_onlyjump_p
	testq	%rax, %rax
	je	LBB0_11
LBB0_13:
	movq	%rbx, 32(%r14)
	movq	%rbx, %rdi
	callq	_simplejump_p
	testl	%eax, %eax
	jne	LBB0_17
## %bb.14:
	movq	%rbx, %rdi
	callq	_returnjump_p
	testq	%rax, %rax
	jne	LBB0_17
## %bb.15:
	cmpq	$0, 24(%r14)
	je	LBB0_17
## %bb.16:
	incl	40(%r14)
LBB0_17:
	movq	%rbx, %rdi
	callq	_PREV_INSN
	movq	%rax, %rbx
LBB0_18:
	movq	_STRUCT_EQUIV_MATCH_JUMPS@GOTPCREL(%rip), %rax
	movl	-56(%rbp), %ecx                 ## 4-byte Reload
	testl	%ecx, (%rax)
	je	LBB0_31
## %bb.19:
	cmpq	$0, 24(%r14)
	setne	%al
	cmpq	$0, 32(%r14)
	sete	%cl
	xorb	%al, %cl
	movzbl	%cl, %edi
	callq	_gcc_assert
	movq	24(%r14), %rdi
	testq	%rdi, %rdi
	je	LBB0_22
## %bb.20:
	callq	_any_condjump_p
	testq	%rax, %rax
	jne	LBB0_25
## %bb.21:
	movq	24(%r14), %rdi
	movq	32(%r14), %rsi
	movq	%r14, %rdx
	callq	_insns_match_p
	testl	%eax, %eax
	jne	LBB0_28
	jmp	LBB0_27
LBB0_7:
	movq	%r13, %rdi
	callq	_returnjump_p
	testq	%rax, %rax
	je	LBB0_10
## %bb.8:
	movq	%r13, %rdi
	callq	_PATTERN
	movl	%eax, %edi
	callq	_side_effects_p
	testl	%eax, %eax
	jne	LBB0_10
	jmp	LBB0_9
LBB0_11:
	movq	%rbx, %rdi
	callq	_returnjump_p
	testq	%rax, %rax
	je	LBB0_18
## %bb.12:
	movq	%rbx, %rdi
	callq	_PATTERN
	movl	%eax, %edi
	callq	_side_effects_p
	testl	%eax, %eax
	jne	LBB0_18
	jmp	LBB0_13
LBB0_22:
	movq	%r13, %rdi
	callq	_any_condjump_p
	testq	%rax, %rax
	je	LBB0_28
## %bb.23:
	movq	%rbx, %rdi
	callq	_any_condjump_p
	testq	%rax, %rax
	je	LBB0_28
## %bb.24:
	movq	%r13, 24(%r14)
	movq	%rbx, 32(%r14)
	movq	%r13, %rdi
	callq	_PREV_INSN
	movq	%rax, %r13
	movq	%rbx, %rdi
	callq	_PREV_INSN
	movq	%rax, %rbx
	incl	40(%r14)
LBB0_25:
	movq	%r14, %rdi
	xorl	%esi, %esi
	callq	_condjump_equiv_p
	testl	%eax, %eax
	jne	LBB0_28
LBB0_27:
	xorl	%eax, %eax
	callq	_gcc_unreachable
LBB0_28:
	movq	24(%r14), %rdi
	testq	%rdi, %rdi
	je	LBB0_31
## %bb.29:
	movq	_STRUCT_EQUIV_FINAL@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%r14)
	je	LBB0_31
## %bb.30:
	movq	32(%r14), %rsi
	movq	%r14, %rdx
	callq	_struct_equiv_merge
LBB0_31:
	leaq	96(%r14), %rdi
	movq	%rdi, -56(%rbp)                 ## 8-byte Spill
	movq	%r14, %rsi
	callq	_struct_equiv_improve_checkpoint
	movq	%r13, 128(%r14)
	movq	%rbx, 120(%r14)
	cmpq	%r12, 24(%r14)
	jne	LBB0_32
LBB0_51:
	xorl	%edi, %edi
	callq	_cancel_changes
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	movq	%r14, %rsi
	callq	_struct_equiv_restore_checkpoint
	cmpl	$0, 40(%r14)
	je	LBB0_67
## %bb.52:
	movq	24(%r14), %rbx
	movq	32(%r14), %r13
	movq	%r12, %rcx
	cmpq	%r12, %rbx
	je	LBB0_59
	.p2align	4, 0x90
LBB0_53:                                ## =>This Inner Loop Header: Depth=1
	movq	%rbx, %rdi
	callq	_PREV_INSN
	movq	%rax, %rdi
	callq	_INSN_P
	testq	%rax, %rax
	jne	LBB0_54
## %bb.57:                              ##   in Loop: Header=BB0_53 Depth=1
	movq	%rbx, %rdi
	callq	_PREV_INSN
	movq	%rax, %rbx
	cmpq	%r12, %rax
	jne	LBB0_53
## %bb.58:
	movq	%r12, %rcx
	jmp	LBB0_59
	.p2align	4, 0x90
LBB0_32:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_33 Depth 2
                                        ##     Child Loop BB0_36 Depth 2
	movq	%r13, %rdi
	.p2align	4, 0x90
LBB0_33:                                ##   Parent Loop BB0_32 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	callq	_INSN_P
	testq	%rax, %rax
	jne	LBB0_35
## %bb.34:                              ##   in Loop: Header=BB0_33 Depth=2
	cmpq	%r12, %r13
	je	LBB0_35
## %bb.55:                              ##   in Loop: Header=BB0_33 Depth=2
	movq	%r13, %rdi
	callq	_PREV_INSN
	movq	%rax, %r13
	movq	%rax, %rdi
	jmp	LBB0_33
	.p2align	4, 0x90
LBB0_35:                                ##   in Loop: Header=BB0_32 Depth=1
	movq	%rbx, %rdi
	.p2align	4, 0x90
LBB0_36:                                ##   Parent Loop BB0_32 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	callq	_INSN_P
	testq	%rax, %rax
	jne	LBB0_39
## %bb.37:                              ##   in Loop: Header=BB0_36 Depth=2
	cmpq	%r15, %rbx
	je	LBB0_39
## %bb.38:                              ##   in Loop: Header=BB0_36 Depth=2
	movq	%rbx, %rdi
	callq	_PREV_INSN
	movq	%rax, %rbx
	movq	%rax, %rdi
	jmp	LBB0_36
	.p2align	4, 0x90
LBB0_39:                                ##   in Loop: Header=BB0_32 Depth=1
	movq	%r13, %rdi
	movq	%rbx, %rsi
	movq	%r14, %rdx
	callq	_insns_match_p
	testl	%eax, %eax
	je	LBB0_51
## %bb.40:                              ##   in Loop: Header=BB0_32 Depth=1
	movq	%r13, %rdi
	callq	_INSN_P
	testq	%rax, %rax
	je	LBB0_44
## %bb.41:                              ##   in Loop: Header=BB0_32 Depth=1
	movq	_STRUCT_EQUIV_FINAL@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%r14)
	je	LBB0_43
## %bb.42:                              ##   in Loop: Header=BB0_32 Depth=1
	movq	%r13, %rdi
	movq	%rbx, %rsi
	movq	%r14, %rdx
	callq	_struct_equiv_merge
LBB0_43:                                ##   in Loop: Header=BB0_32 Depth=1
	incl	40(%r14)
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	movq	%r14, %rsi
	callq	_struct_equiv_improve_checkpoint
LBB0_44:                                ##   in Loop: Header=BB0_32 Depth=1
	cmpq	%r12, %r13
	je	LBB0_46
## %bb.45:                              ##   in Loop: Header=BB0_32 Depth=1
	cmpq	%r15, %rbx
	je	LBB0_46
## %bb.56:                              ##   in Loop: Header=BB0_32 Depth=1
	movq	%r13, %rdi
	callq	_PREV_INSN
	movq	%rax, %r13
	movq	%rbx, %rdi
	callq	_PREV_INSN
	movq	%rax, %rbx
	jmp	LBB0_32
LBB0_46:
	movq	96(%r14), %rax
	cmpq	24(%r14), %rax
	je	LBB0_51
## %bb.47:
	movl	116(%r14), %edi
	callq	_BB_HEAD
	cmpq	%rax, %r13
	je	LBB0_49
## %bb.48:
	movl	112(%r14), %edi
	callq	_BB_HEAD
	cmpq	%rax, %rbx
	jne	LBB0_51
LBB0_49:
	incl	40(%r14)
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	movq	%r14, %rsi
	callq	_struct_equiv_improve_checkpoint
	movslq	40(%r14), %rax
	decq	%rax
	movl	%eax, 40(%r14)
	cmpq	%rax, 104(%r14)
	jle	LBB0_51
## %bb.50:
	movq	%rax, 104(%r14)
	jmp	LBB0_51
LBB0_54:
	movq	%rbx, %rcx
LBB0_59:
	movq	%r15, %rax
	cmpq	%r15, %r13
	je	LBB0_66
## %bb.60:
	movq	%rcx, %rbx
	.p2align	4, 0x90
LBB0_61:                                ## =>This Inner Loop Header: Depth=1
	movq	%r13, %rdi
	callq	_PREV_INSN
	movq	%rax, %rdi
	callq	_INSN_P
	testq	%rax, %rax
	jne	LBB0_62
## %bb.63:                              ##   in Loop: Header=BB0_61 Depth=1
	movq	%r13, %rdi
	callq	_PREV_INSN
	movq	%rax, %r13
	cmpq	%r15, %rax
	jne	LBB0_61
## %bb.64:
	movq	%r15, %rax
	jmp	LBB0_65
LBB0_62:
	movq	%r13, %rax
LBB0_65:
	movq	%rbx, %rcx
LBB0_66:
	movq	%rcx, 24(%r14)
	movq	%rax, 32(%r14)
LBB0_67:
	cmpl	$0, 48(%r14)
	je	LBB0_68
## %bb.69:
	cmpl	$0, 4(%r14)
	jne	LBB0_86
	jmp	LBB0_70
LBB0_68:
	movq	_NULL_RTX@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 80(%r14)
	movl	%eax, 84(%r14)
	movl	%eax, 88(%r14)
	cmpl	$0, 4(%r14)
	jne	LBB0_86
LBB0_70:
	movq	%r14, %rdi
	callq	_find_dying_inputs
	movq	_STRUCT_EQUIV_FINAL@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%r14)
	je	LBB0_74
## %bb.71:
	cmpl	$0, 8(%r14)
	je	LBB0_86
## %bb.72:
	movq	%r14, %rdi
	callq	_resolve_input_conflict
	testl	%eax, %eax
	jne	LBB0_86
## %bb.73:
	xorl	%eax, %eax
	callq	_gcc_unreachable
	jmp	LBB0_86
LBB0_74:
	movl	12(%r14), %ebx
	testl	%ebx, %ebx
	je	LBB0_75
## %bb.83:
	cmpl	$0, 8(%r14)
	jne	LBB0_85
LBB0_84:
	movl	$1, 4(%r14)
	jmp	LBB0_85
LBB0_75:
	xorl	%ebx, %ebx
	cmpl	$2, 16(%r14)
	jl	LBB0_85
## %bb.76:
	movl	72(%r14), %esi
	movl	76(%r14), %edi
	callq	_bitmap_intersect_p
	testq	%rax, %rax
	je	LBB0_85
## %bb.77:
	leaq	-44(%rbp), %rdi
	callq	_INIT_REG_SET
	cmpl	$0, 44(%r14)
	jle	LBB0_81
## %bb.78:
	xorl	%r13d, %r13d
LBB0_79:                                ## =>This Inner Loop Header: Depth=1
	movq	64(%r14), %rax
	movl	(%rax,%r13,4), %esi
	leaq	-44(%rbp), %rdi
	xorl	%edx, %edx
	callq	_assign_reg_reg_set
	testq	%rax, %rax
	jne	LBB0_82
## %bb.80:                              ##   in Loop: Header=BB0_79 Depth=1
	movq	56(%r14), %rax
	movl	(%rax,%r13,4), %esi
	leaq	-44(%rbp), %rdi
	movl	$1, %edx
	callq	_assign_reg_reg_set
	incq	%r13
	movslq	44(%r14), %rax
	cmpq	%rax, %r13
	jl	LBB0_79
LBB0_81:
	leaq	-44(%rbp), %rdi
	callq	_CLEAR_REG_SET
	jmp	LBB0_85
LBB0_82:
	leaq	-44(%rbp), %rdi
	callq	_CLEAR_REG_SET
	movl	$1, %ebx
	cmpl	$0, 8(%r14)
	je	LBB0_84
LBB0_85:
	movl	%ebx, 8(%r14)
LBB0_86:
	movq	_STRUCT_EQUIV_NEED_FULL_BLOCK@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%r14)
	je	LBB0_89
## %bb.87:
	xorl	%eax, %eax
	cmpq	%r12, 24(%r14)
	jne	LBB0_90
## %bb.88:
	cmpq	%r15, 32(%r14)
	jne	LBB0_90
LBB0_89:
	movl	40(%r14), %eax
LBB0_90:
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_STRUCT_EQUIV_START,4,2         ## @STRUCT_EQUIV_START
	.comm	_STRUCT_EQUIV_MATCH_JUMPS,4,2   ## @STRUCT_EQUIV_MATCH_JUMPS
	.comm	_STRUCT_EQUIV_FINAL,4,2         ## @STRUCT_EQUIV_FINAL
	.comm	_NULL_RTX,4,2                   ## @NULL_RTX
	.comm	_STRUCT_EQUIV_NEED_FULL_BLOCK,4,2 ## @STRUCT_EQUIV_NEED_FULL_BLOCK
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_struct_equiv_block_eq          ; -- Begin function struct_equiv_block_eq
	.p2align	2
_struct_equiv_block_eq:                 ; @struct_equiv_block_eq
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #96
	.cfi_def_cfa_offset 96
	stp	x26, x25, [sp, #16]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	mov	x19, x1
	mov	x24, x0
Lloh0:
	adrp	x8, _STRUCT_EQUIV_START@GOTPAGE
Lloh1:
	ldr	x8, [x8, _STRUCT_EQUIV_START@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	tst	w8, w0
	b.eq	LBB0_3
; %bb.1:
	ldr	w0, [x19, #116]
	bl	_BB_HEAD
	mov	x20, x0
	ldr	w0, [x19, #112]
	bl	_BB_HEAD
	cmp	x20, #0
	ccmp	x0, #0, #4, ne
	b.eq	LBB0_86
; %bb.2:
	mov	x21, x0
	b	LBB0_4
LBB0_3:
	ldp	x20, x21, [x19, #24]
LBB0_4:
	mov	x0, x24
	mov	x1, x19
	bl	_struct_equiv_init
	cbnz	w0, LBB0_6
; %bb.5:
	bl	_gcc_unreachable
LBB0_6:
	ldr	w0, [x19, #116]
	bl	_BB_END
	mov	x22, x0
	bl	_onlyjump_p
	cbz	x0, LBB0_18
LBB0_7:
	str	x22, [x19, #24]
	mov	x0, x22
	bl	_PREV_INSN
	mov	x22, x0
LBB0_8:
	ldr	w0, [x19, #112]
	bl	_BB_END
	mov	x23, x0
	bl	_onlyjump_p
	cbz	x0, LBB0_20
LBB0_9:
	str	x23, [x19, #32]
	mov	x0, x23
	bl	_simplejump_p
	cbnz	w0, LBB0_13
; %bb.10:
	mov	x0, x23
	bl	_returnjump_p
	cbnz	x0, LBB0_13
; %bb.11:
	ldr	x8, [x19, #24]
	cbz	x8, LBB0_13
; %bb.12:
	ldr	w8, [x19, #40]
	add	w8, w8, #1
	str	w8, [x19, #40]
LBB0_13:
	mov	x0, x23
	bl	_PREV_INSN
	mov	x23, x0
LBB0_14:
Lloh3:
	adrp	x8, _STRUCT_EQUIV_MATCH_JUMPS@GOTPAGE
Lloh4:
	ldr	x8, [x8, _STRUCT_EQUIV_MATCH_JUMPS@GOTPAGEOFF]
Lloh5:
	ldr	w8, [x8]
	tst	w8, w24
	b.eq	LBB0_30
; %bb.15:
	ldp	x8, x9, [x19, #24]
	cmp	x8, #0
	cset	w8, ne
	cmp	x9, #0
	cset	w9, eq
	eor	w0, w8, w9
	bl	_gcc_assert
	ldr	x0, [x19, #24]
	cbz	x0, LBB0_22
; %bb.16:
	bl	_any_condjump_p
	cbnz	x0, LBB0_25
; %bb.17:
	ldp	x0, x1, [x19, #24]
	mov	x2, x19
	bl	_insns_match_p
	cbnz	w0, LBB0_27
	b	LBB0_26
LBB0_18:
	mov	x0, x22
	bl	_returnjump_p
	cbz	x0, LBB0_8
; %bb.19:
	mov	x0, x22
	bl	_PATTERN
	bl	_side_effects_p
	cbnz	w0, LBB0_8
	b	LBB0_7
LBB0_20:
	mov	x0, x23
	bl	_returnjump_p
	cbz	x0, LBB0_14
; %bb.21:
	mov	x0, x23
	bl	_PATTERN
	bl	_side_effects_p
	cbnz	w0, LBB0_14
	b	LBB0_9
LBB0_22:
	mov	x0, x22
	bl	_any_condjump_p
	cbz	x0, LBB0_27
; %bb.23:
	mov	x0, x23
	bl	_any_condjump_p
	cbz	x0, LBB0_27
; %bb.24:
	stp	x22, x23, [x19, #24]
	mov	x0, x22
	bl	_PREV_INSN
	mov	x22, x0
	mov	x0, x23
	bl	_PREV_INSN
	mov	x23, x0
	ldr	w8, [x19, #40]
	add	w8, w8, #1
	str	w8, [x19, #40]
LBB0_25:
	mov	x0, x19
	mov	w1, #0
	bl	_condjump_equiv_p
	cbnz	w0, LBB0_27
LBB0_26:
	bl	_gcc_unreachable
LBB0_27:
	ldr	x0, [x19, #24]
	cbz	x0, LBB0_30
; %bb.28:
	ldr	w8, [x19]
Lloh6:
	adrp	x9, _STRUCT_EQUIV_FINAL@GOTPAGE
Lloh7:
	ldr	x9, [x9, _STRUCT_EQUIV_FINAL@GOTPAGEOFF]
Lloh8:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_30
; %bb.29:
	ldr	x1, [x19, #32]
	mov	x2, x19
	bl	_struct_equiv_merge
LBB0_30:
	add	x24, x19, #96
	mov	x0, x24
	mov	x1, x19
	bl	_struct_equiv_improve_checkpoint
	stp	x23, x22, [x19, #120]
	ldr	x8, [x19, #24]
	cmp	x8, x20
	b.ne	LBB0_45
LBB0_31:
	mov	w0, #0
	bl	_cancel_changes
	mov	x0, x24
	mov	x1, x19
	bl	_struct_equiv_restore_checkpoint
	ldr	w8, [x19, #40]
	cbz	w8, LBB0_43
; %bb.32:
	ldp	x8, x24, [x19, #24]
	mov	x22, x20
	cmp	x8, x20
	b.eq	LBB0_37
; %bb.33:
	mov	x22, x8
LBB0_34:                                ; =>This Inner Loop Header: Depth=1
	mov	x0, x22
	bl	_PREV_INSN
	bl	_INSN_P
	cbnz	x0, LBB0_37
; %bb.35:                               ;   in Loop: Header=BB0_34 Depth=1
	mov	x0, x22
	bl	_PREV_INSN
	mov	x22, x0
	cmp	x0, x20
	b.ne	LBB0_34
; %bb.36:
	mov	x22, x20
LBB0_37:
	mov	x23, x21
	cmp	x24, x21
	b.eq	LBB0_42
; %bb.38:
	mov	x23, x24
LBB0_39:                                ; =>This Inner Loop Header: Depth=1
	mov	x0, x23
	bl	_PREV_INSN
	bl	_INSN_P
	cbnz	x0, LBB0_42
; %bb.40:                               ;   in Loop: Header=BB0_39 Depth=1
	mov	x0, x23
	bl	_PREV_INSN
	mov	x23, x0
	cmp	x0, x21
	b.ne	LBB0_39
; %bb.41:
	mov	x23, x21
LBB0_42:
	stp	x22, x23, [x19, #24]
LBB0_43:
	ldr	w8, [x19, #48]
	cbz	w8, LBB0_60
; %bb.44:
	ldr	w8, [x19, #4]
	cbnz	w8, LBB0_82
	b	LBB0_61
LBB0_45:
Lloh9:
	adrp	x25, _STRUCT_EQUIV_FINAL@GOTPAGE
Lloh10:
	ldr	x25, [x25, _STRUCT_EQUIV_FINAL@GOTPAGEOFF]
LBB0_46:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_47 Depth 2
                                        ;     Child Loop BB0_50 Depth 2
	mov	x0, x22
	bl	_INSN_P
	cbnz	x0, LBB0_49
LBB0_47:                                ;   Parent Loop BB0_46 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	cmp	x22, x20
	b.eq	LBB0_49
; %bb.48:                               ;   in Loop: Header=BB0_47 Depth=2
	mov	x0, x22
	bl	_PREV_INSN
	mov	x22, x0
	bl	_INSN_P
	cbz	x0, LBB0_47
LBB0_49:                                ;   in Loop: Header=BB0_46 Depth=1
	mov	x0, x23
	bl	_INSN_P
	cbnz	x0, LBB0_52
LBB0_50:                                ;   Parent Loop BB0_46 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	cmp	x23, x21
	b.eq	LBB0_52
; %bb.51:                               ;   in Loop: Header=BB0_50 Depth=2
	mov	x0, x23
	bl	_PREV_INSN
	mov	x23, x0
	bl	_INSN_P
	cbz	x0, LBB0_50
LBB0_52:                                ;   in Loop: Header=BB0_46 Depth=1
	mov	x0, x22
	mov	x1, x23
	mov	x2, x19
	bl	_insns_match_p
	cbz	w0, LBB0_31
; %bb.53:                               ;   in Loop: Header=BB0_46 Depth=1
	mov	x0, x22
	bl	_INSN_P
	cbz	x0, LBB0_57
; %bb.54:                               ;   in Loop: Header=BB0_46 Depth=1
	ldr	w8, [x19]
	ldr	w9, [x25]
	tst	w9, w8
	b.eq	LBB0_56
; %bb.55:                               ;   in Loop: Header=BB0_46 Depth=1
	mov	x0, x22
	mov	x1, x23
	mov	x2, x19
	bl	_struct_equiv_merge
LBB0_56:                                ;   in Loop: Header=BB0_46 Depth=1
	ldr	w8, [x19, #40]
	add	w8, w8, #1
	str	w8, [x19, #40]
	mov	x0, x24
	mov	x1, x19
	bl	_struct_equiv_improve_checkpoint
LBB0_57:                                ;   in Loop: Header=BB0_46 Depth=1
	cmp	x22, x20
	b.eq	LBB0_65
; %bb.58:                               ;   in Loop: Header=BB0_46 Depth=1
	cmp	x23, x21
	b.eq	LBB0_65
; %bb.59:                               ;   in Loop: Header=BB0_46 Depth=1
	mov	x0, x22
	bl	_PREV_INSN
	mov	x22, x0
	mov	x0, x23
	bl	_PREV_INSN
	mov	x23, x0
	b	LBB0_46
LBB0_60:
Lloh11:
	adrp	x8, _NULL_RTX@GOTPAGE
Lloh12:
	ldr	x8, [x8, _NULL_RTX@GOTPAGEOFF]
Lloh13:
	ldr	w8, [x8]
	stp	w8, w8, [x19, #80]
	str	w8, [x19, #88]
	ldr	w8, [x19, #4]
	cbnz	w8, LBB0_82
LBB0_61:
	mov	x0, x19
	bl	_find_dying_inputs
	ldr	w8, [x19]
Lloh14:
	adrp	x9, _STRUCT_EQUIV_FINAL@GOTPAGE
Lloh15:
	ldr	x9, [x9, _STRUCT_EQUIV_FINAL@GOTPAGEOFF]
Lloh16:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_70
; %bb.62:
	ldr	w8, [x19, #8]
	cbz	w8, LBB0_82
; %bb.63:
	mov	x0, x19
	bl	_resolve_input_conflict
	cbnz	w0, LBB0_82
; %bb.64:
	bl	_gcc_unreachable
	b	LBB0_82
LBB0_65:
	ldr	x8, [x19, #96]
	ldr	x9, [x19, #24]
	cmp	x8, x9
	b.eq	LBB0_31
; %bb.66:
	ldr	w0, [x19, #116]
	bl	_BB_HEAD
	cmp	x22, x0
	b.eq	LBB0_68
; %bb.67:
	ldr	w0, [x19, #112]
	bl	_BB_HEAD
	cmp	x23, x0
	b.ne	LBB0_31
LBB0_68:
	ldr	w8, [x19, #40]
	add	w8, w8, #1
	str	w8, [x19, #40]
	mov	x0, x24
	mov	x1, x19
	bl	_struct_equiv_improve_checkpoint
	ldrsw	x8, [x19, #40]
	sub	x8, x8, #1
	str	w8, [x19, #40]
	ldr	x9, [x19, #104]
	cmp	x9, x8
	b.le	LBB0_31
; %bb.69:
	str	x8, [x19, #104]
	b	LBB0_31
LBB0_70:
	ldr	w8, [x19, #12]
	cbz	w8, LBB0_73
; %bb.71:
	ldr	w9, [x19, #8]
	cbnz	w9, LBB0_81
LBB0_72:
	mov	w9, #1
	str	w9, [x19, #4]
	b	LBB0_81
LBB0_73:
	ldr	w8, [x19, #16]
	cmp	w8, #2
	b.lt	LBB0_80
; %bb.74:
	ldp	w1, w0, [x19, #72]
	bl	_bitmap_intersect_p
	cbz	x0, LBB0_80
; %bb.75:
	add	x0, sp, #12
	bl	_INIT_REG_SET
	ldr	w8, [x19, #44]
	cmp	w8, #1
	b.lt	LBB0_79
; %bb.76:
	mov	x22, #0
LBB0_77:                                ; =>This Inner Loop Header: Depth=1
	ldr	x8, [x19, #64]
	ldr	w1, [x8, x22, lsl #2]
	add	x0, sp, #12
	mov	w2, #0
	bl	_assign_reg_reg_set
	cbnz	x0, LBB0_88
; %bb.78:                               ;   in Loop: Header=BB0_77 Depth=1
	ldr	x8, [x19, #56]
	ldr	w1, [x8, x22, lsl #2]
	add	x0, sp, #12
	mov	w2, #1
	bl	_assign_reg_reg_set
	add	x22, x22, #1
	ldrsw	x8, [x19, #44]
	cmp	x22, x8
	b.lt	LBB0_77
LBB0_79:
	add	x0, sp, #12
	bl	_CLEAR_REG_SET
LBB0_80:
	mov	w8, #0
LBB0_81:
	str	w8, [x19, #8]
LBB0_82:
	ldr	w8, [x19]
Lloh17:
	adrp	x9, _STRUCT_EQUIV_NEED_FULL_BLOCK@GOTPAGE
Lloh18:
	ldr	x9, [x9, _STRUCT_EQUIV_NEED_FULL_BLOCK@GOTPAGEOFF]
Lloh19:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_85
; %bb.83:
	ldr	x8, [x19, #24]
	cmp	x8, x20
	b.ne	LBB0_86
; %bb.84:
	ldr	x8, [x19, #32]
	cmp	x8, x21
	b.ne	LBB0_86
LBB0_85:
	ldr	w0, [x19, #40]
	b	LBB0_87
LBB0_86:
	mov	w0, #0
LBB0_87:
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #96
	ret
LBB0_88:
	add	x0, sp, #12
	bl	_CLEAR_REG_SET
	mov	w8, #1
	ldr	w9, [x19, #8]
	cbnz	w9, LBB0_81
	b	LBB0_72
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.cfi_endproc
                                        ; -- End function
	.comm	_STRUCT_EQUIV_START,4,2         ; @STRUCT_EQUIV_START
	.comm	_STRUCT_EQUIV_MATCH_JUMPS,4,2   ; @STRUCT_EQUIV_MATCH_JUMPS
	.comm	_STRUCT_EQUIV_FINAL,4,2         ; @STRUCT_EQUIV_FINAL
	.comm	_NULL_RTX,4,2                   ; @NULL_RTX
	.comm	_STRUCT_EQUIV_NEED_FULL_BLOCK,4,2 ; @STRUCT_EQUIV_NEED_FULL_BLOCK
.subsections_via_symbols
