Reordering two functions can slow down lld by 1.06 times

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 20 14:09:29 PDT 2016


I spend most of the day reducing an oddity I noticed while
benchmarking a small patch.

It turns out that just reordering two adjacent functions can have a
massive impact on performance. The two binaries are in

https://drive.google.com/open?id=0B7iRtublysV6VW5VVW1na2N1RGM

https://drive.google.com/open?id=0B7iRtublysV6MUJoeGVCRHpXVUU

And the total diff of the objdump is attached.

When linking xul with one of the binaries I get

98,298,725      branch-misses             #    2.24% of all branches
7.206486289 seconds time elapsed

With the other I get

139,849,372      branch-misses             #    3.18% of all branches
7.645573494 seconds time elapsed

Adding enough padding before the function gets the performance back,
which suggests an aliasing problem in the branch predictor.

The cpu is a E5-2697 (Ivy Bridge). Is anyone familiar with its branch
predictor and how to avoid hitting these problems?

Cheers,
Rafael
-------------- next part --------------
--- master.dump	2016-10-20 16:44:52.530377428 -0400
+++ patch.dump	2016-10-20 16:45:11.443536216 -0400
@@ -1,5 +1,5 @@
 
-master:     file format elf64-x86-64
+patch:     file format elf64-x86-64
 
 
 Disassembly of section .init:
@@ -209616,7 +209616,7 @@
 00000000004d4020 <_Z8getSymVAIN4llvm6object7ELFTypeILNS0_7support10endiannessE1ELb1EEEENT_4uintEjS7_S7_RKN3lld3elf10SymbolBodyENS9_7RelExprE.isra.106.constprop.398>:
   4d4020:	48 89 fe             	mov    %rdi,%rsi
   4d4023:	48 89 d7             	mov    %rdx,%rdi
-  4d4026:	e9 a5 92 0a 00       	jmpq   57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  4d4026:	e9 95 92 0a 00       	jmpq   57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   4d402b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
 
 00000000004d4030 <_Z7getNameIKN3lld3elf17MergeInputSectionIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb0EEEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPT_>:
@@ -214946,7 +214946,7 @@
   4d8b3e:	eb b0                	jmp    4d8af0 <_ZN3lld3elf16InputSectionBaseIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE8relocateEPhS9_+0x1d0>
   4d8b40:	48 89 d6             	mov    %rdx,%rsi
   4d8b43:	44 89 44 24 10       	mov    %r8d,0x10(%rsp)
-  4d8b48:	e8 83 47 0a 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  4d8b48:	e8 73 47 0a 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   4d8b4d:	44 8b 44 24 10       	mov    0x10(%rsp),%r8d
   4d8b52:	48 89 c1             	mov    %rax,%rcx
   4d8b55:	0f 1f 00             	nopl   (%rax)
@@ -215024,14 +215024,14 @@
   4d8c98:	e9 53 fe ff ff       	jmpq   4d8af0 <_ZN3lld3elf16InputSectionBaseIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE8relocateEPhS9_+0x1d0>
   4d8c9d:	0f 1f 00             	nopl   (%rax)
   4d8ca0:	48 89 d6             	mov    %rdx,%rsi
-  4d8ca3:	e8 28 46 0a 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  4d8ca3:	e8 18 46 0a 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   4d8ca8:	48 8b 35 f1 0f b2 01 	mov    0x1b20ff1(%rip),%rsi        # 1ff9ca0 <_ZN3lld3elf3OutIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE3GotE>
   4d8caf:	48 2b 46 38          	sub    0x38(%rsi),%rax
   4d8cb3:	48 89 c1             	mov    %rax,%rcx
   4d8cb6:	e9 35 fe ff ff       	jmpq   4d8af0 <_ZN3lld3elf16InputSectionBaseIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE8relocateEPhS9_+0x1d0>
   4d8cbb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
   4d8cc0:	48 89 d6             	mov    %rdx,%rsi
-  4d8cc3:	e8 08 46 0a 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  4d8cc3:	e8 f8 45 0a 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   4d8cc8:	48 8b 15 d1 0f b2 01 	mov    0x1b20fd1(%rip),%rdx        # 1ff9ca0 <_ZN3lld3elf3OutIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE3GotE>
   4d8ccf:	48 2b 42 38          	sub    0x38(%rdx),%rax
   4d8cd3:	48 2b 42 48          	sub    0x48(%rdx),%rax
@@ -215079,7 +215079,7 @@
   4d8d8a:	e9 c9 fd ff ff       	jmpq   4d8b58 <_ZN3lld3elf16InputSectionBaseIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE8relocateEPhS9_+0x238>
   4d8d8f:	90                   	nop
   4d8d90:	48 89 d6             	mov    %rdx,%rsi
-  4d8d93:	e8 38 45 0a 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  4d8d93:	e8 28 45 0a 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   4d8d98:	48 8b 3d 01 0f b2 01 	mov    0x1b20f01(%rip),%rdi        # 1ff9ca0 <_ZN3lld3elf3OutIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE3GotE>
   4d8d9f:	48 89 c6             	mov    %rax,%rsi
   4d8da2:	e8 59 c1 06 00       	callq  544f00 <_ZN3lld3elf10GotSectionIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE22getMipsLocalPageOffsetEm>
@@ -215113,7 +215113,7 @@
   4d8e27:	48 89 d6             	mov    %rdx,%rsi
   4d8e2a:	44 89 44 24 10       	mov    %r8d,0x10(%rsp)
   4d8e2f:	44 8b 60 14          	mov    0x14(%rax),%r12d
-  4d8e33:	e8 98 44 0a 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  4d8e33:	e8 88 44 0a 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   4d8e38:	44 8b 44 24 10       	mov    0x10(%rsp),%r8d
   4d8e3d:	4c 89 e1             	mov    %r12,%rcx
   4d8e40:	48 29 c1             	sub    %rax,%rcx
@@ -215122,7 +215122,7 @@
   4d8e4f:	00 
   4d8e50:	48 89 d6             	mov    %rdx,%rsi
   4d8e53:	44 89 44 24 10       	mov    %r8d,0x10(%rsp)
-  4d8e58:	e8 73 44 0a 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  4d8e58:	e8 63 44 0a 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   4d8e5d:	4c 89 e6             	mov    %r12,%rsi
   4d8e60:	48 25 00 f0 ff ff    	and    $0xfffffffffffff000,%rax
   4d8e66:	44 8b 44 24 10       	mov    0x10(%rsp),%r8d
@@ -215133,7 +215133,7 @@
   4d8e7d:	0f 1f 00             	nopl   (%rax)
   4d8e80:	48 89 d6             	mov    %rdx,%rsi
   4d8e83:	44 89 44 24 10       	mov    %r8d,0x10(%rsp)
-  4d8e88:	e8 43 44 0a 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  4d8e88:	e8 33 44 0a 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   4d8e8d:	4c 29 e0             	sub    %r12,%rax
   4d8e90:	44 8b 44 24 10       	mov    0x10(%rsp),%r8d
   4d8e95:	48 89 c1             	mov    %rax,%rcx
@@ -215152,7 +215152,7 @@
   4d8ecf:	e9 a3 fe ff ff       	jmpq   4d8d77 <_ZN3lld3elf16InputSectionBaseIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE8relocateEPhS9_+0x457>
   4d8ed4:	0f 1f 40 00          	nopl   0x0(%rax)
   4d8ed8:	48 89 d6             	mov    %rdx,%rsi
-  4d8edb:	e8 f0 43 0a 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  4d8edb:	e8 e0 43 0a 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   4d8ee0:	31 c9                	xor    %ecx,%ecx
   4d8ee2:	48 85 c0             	test   %rax,%rax
   4d8ee5:	0f 84 05 fc ff ff    	je     4d8af0 <_ZN3lld3elf16InputSectionBaseIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE8relocateEPhS9_+0x1d0>
@@ -215191,7 +215191,7 @@
   4d8f66:	0f 84 64 01 00 00    	je     4d90d0 <_ZN3lld3elf16InputSectionBaseIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE8relocateEPhS9_+0x7b0>
   4d8f6c:	48 89 d6             	mov    %rdx,%rsi
   4d8f6f:	44 89 44 24 10       	mov    %r8d,0x10(%rsp)
-  4d8f74:	e8 57 43 0a 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  4d8f74:	e8 47 43 0a 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   4d8f79:	49 89 c4             	mov    %rax,%r12
   4d8f7c:	48 8b 05 15 0d b2 01 	mov    0x1b20d15(%rip),%rax        # 1ff9c98 <_ZN3lld3elf3OutIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE7TlsPhdrE>
   4d8f83:	31 d2                	xor    %edx,%edx
@@ -215269,7 +215269,7 @@
   4d90ce:	00 00 
   4d90d0:	48 89 d6             	mov    %rdx,%rsi
   4d90d3:	44 89 44 24 10       	mov    %r8d,0x10(%rsp)
-  4d90d8:	e8 f3 41 0a 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  4d90d8:	e8 e3 41 0a 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   4d90dd:	48 8b 15 b4 0b b2 01 	mov    0x1b20bb4(%rip),%rdx        # 1ff9c98 <_ZN3lld3elf3OutIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE7TlsPhdrE>
   4d90e4:	44 8b 44 24 10       	mov    0x10(%rsp),%r8d
   4d90e9:	48 2b 42 28          	sub    0x28(%rdx),%rax
@@ -242187,7 +242187,7 @@
   4f040c:	74 12                	je     4f0420 <_ZN3lld3elf12LinkerScriptIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE14getSymbolValueENS2_9StringRefE+0x30>
   4f040e:	31 f6                	xor    %esi,%esi
   4f0410:	48 89 c7             	mov    %rax,%rdi
-  4f0413:	e8 b8 ce 08 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  4f0413:	e8 a8 ce 08 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   4f0418:	48 83 c4 38          	add    $0x38,%rsp
   4f041c:	c3                   	retq   
   4f041d:	0f 1f 00             	nopl   (%rax)
@@ -291792,7 +291792,7 @@
   51bf7e:	66 90                	xchg   %ax,%ax
   51bf80:	48 8b 7b 08          	mov    0x8(%rbx),%rdi
   51bf84:	31 f6                	xor    %esi,%esi
-  51bf86:	e8 45 13 06 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  51bf86:	e8 35 13 06 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   51bf8b:	48 89 45 00          	mov    %rax,0x0(%rbp)
   51bf8f:	eb b3                	jmp    51bf44 <_ZN3lld3elf14DynamicSectionIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE7writeToEPh+0x34>
   51bf91:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
@@ -297260,7 +297260,7 @@
   52067c:	48 8b 7d 00          	mov    0x0(%rbp),%rdi
   520680:	4d 8d 65 08          	lea    0x8(%r13),%r12
   520684:	48 83 c5 10          	add    $0x10,%rbp
-  520688:	e8 43 cc 05 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  520688:	e8 33 cc 05 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   52068d:	49 39 ee             	cmp    %rbp,%r14
   520690:	49 89 45 00          	mov    %rax,0x0(%r13)
   520694:	4d 89 e5             	mov    %r12,%r13
@@ -297273,7 +297273,7 @@
   5206b4:	48 8b 7d 00          	mov    0x0(%rbp),%rdi
   5206b8:	4d 8d 6c 24 08       	lea    0x8(%r12),%r13
   5206bd:	48 83 c5 10          	add    $0x10,%rbp
-  5206c1:	e8 0a cc 05 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  5206c1:	e8 fa cb 05 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   5206c6:	49 39 ee             	cmp    %rbp,%r14
   5206c9:	49 89 04 24          	mov    %rax,(%r12)
   5206cd:	4d 89 ec             	mov    %r13,%r12
@@ -297298,7 +297298,7 @@
   520712:	75 3c                	jne    520750 <_ZN3lld3elf10GotSectionIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE12writeMipsGotEPh+0x130>
   520714:	31 f6                	xor    %esi,%esi
   520716:	48 89 ef             	mov    %rbp,%rdi
-  520719:	e8 b2 cb 05 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  520719:	e8 a2 cb 05 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   52071e:	8b 55 04             	mov    0x4(%rbp),%edx
   520721:	83 fa ff             	cmp    $0xffffffff,%edx
   520724:	74 0c                	je     520732 <_ZN3lld3elf10GotSectionIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE12writeMipsGotEPh+0x112>
@@ -297405,7 +297405,7 @@
   520875:	31 f6                	xor    %esi,%esi
   520877:	48 89 ef             	mov    %rbp,%rdi
   52087a:	48 83 c3 08          	add    $0x8,%rbx
-  52087e:	e8 4d ca 05 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  52087e:	e8 3d ca 05 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   520883:	49 39 de             	cmp    %rbx,%r14
   520886:	49 89 04 24          	mov    %rax,(%r12)
   52088a:	4d 89 ec             	mov    %r13,%r12
@@ -301261,7 +301261,7 @@
   523ce2:	83 e2 03             	and    $0x3,%edx
   523ce5:	09 d0                	or     %edx,%eax
   523ce7:	88 43 ff             	mov    %al,-0x1(%rbx)
-  523cea:	e8 e1 95 05 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  523cea:	e8 d1 95 05 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   523cef:	48 89 ee             	mov    %rbp,%rsi
   523cf2:	48 89 43 02          	mov    %rax,0x2(%rbx)
   523cf6:	4c 89 e7             	mov    %r12,%rdi
@@ -348569,7 +348569,7 @@
   54cd6d:	00 00 00 
   54cd70:	49 8b 77 30          	mov    0x30(%r15),%rsi
   54cd74:	49 8b 7f 08          	mov    0x8(%r15),%rdi
-  54cd78:	e8 53 05 03 00       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  54cd78:	e8 43 05 03 00       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   54cd7d:	e9 e2 fd ff ff       	jmpq   54cb64 <_ZN3lld3elf17RelocationSectionIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE7writeToEPh+0x54>
   54cd82:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
   54cd88:	48 2b 9d 80 00 00 00 	sub    0x80(%rbp),%rbx
@@ -402957,129 +402957,129 @@
   57d2bc:	00 00 00 
   57d2bf:	90                   	nop
 
-000000000057d2c0 <foobarzed>:
-  57d2c0:	c3                   	retq   
-  57d2c1:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
-  57d2c8:	00 00 00 
-  57d2cb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
-
-000000000057d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>:
-  57d2d0:	80 7f 20 06          	cmpb   $0x6,0x20(%rdi)
-  57d2d4:	0f 87 36 01 00 00    	ja     57d410 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x140>
-  57d2da:	41 54                	push   %r12
-  57d2dc:	55                   	push   %rbp
-  57d2dd:	48 89 f5             	mov    %rsi,%rbp
-  57d2e0:	53                   	push   %rbx
-  57d2e1:	48 89 fb             	mov    %rdi,%rbx
-  57d2e4:	48 83 ec 60          	sub    $0x60,%rsp
-  57d2e8:	0f b6 47 20          	movzbl 0x20(%rdi),%eax
-  57d2ec:	ff 24 c5 c8 1f 64 01 	jmpq   *0x1641fc8(,%rax,8)
-  57d2f3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
-  57d2f8:	31 c0                	xor    %eax,%eax
-  57d2fa:	48 83 c4 60          	add    $0x60,%rsp
-  57d2fe:	48 01 e8             	add    %rbp,%rax
-  57d301:	5b                   	pop    %rbx
-  57d302:	5d                   	pop    %rbp
-  57d303:	41 5c                	pop    %r12
-  57d305:	c3                   	retq   
-  57d306:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
-  57d30d:	00 00 00 
-  57d310:	48 8b 57 40          	mov    0x40(%rdi),%rdx
-  57d314:	48 8b 47 38          	mov    0x38(%rdi),%rax
-  57d318:	48 85 d2             	test   %rdx,%rdx
-  57d31b:	74 dd                	je     57d2fa <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
-  57d31d:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
-  57d321:	0f 84 e9 00 00 00    	je     57d410 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x140>
-  57d327:	48 03 42 38          	add    0x38(%rdx),%rax
-  57d32b:	48 83 c4 60          	add    $0x60,%rsp
-  57d32f:	5b                   	pop    %rbx
-  57d330:	48 01 e8             	add    %rbp,%rax
-  57d333:	5d                   	pop    %rbp
-  57d334:	41 5c                	pop    %r12
-  57d336:	c3                   	retq   
-  57d337:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
-  57d33e:	00 00 
-  57d340:	48 8b 47 48          	mov    0x48(%rdi),%rax
-  57d344:	48 8b 38             	mov    (%rax),%rdi
-  57d347:	48 81 ff c0 9a ff 01 	cmp    $0x1ff9ac0,%rdi
-  57d34e:	74 a8                	je     57d2f8 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x28>
-  57d350:	48 85 ff             	test   %rdi,%rdi
-  57d353:	0f 84 e7 00 00 00    	je     57d440 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x170>
-  57d359:	80 7b 22 03          	cmpb   $0x3,0x22(%rbx)
-  57d35d:	48 8b 73 38          	mov    0x38(%rbx),%rsi
-  57d361:	0f 84 b9 00 00 00    	je     57d420 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x150>
-  57d367:	48 8b 47 58          	mov    0x58(%rdi),%rax
-  57d36b:	48 85 c0             	test   %rax,%rax
-  57d36e:	0f 84 bc 00 00 00    	je     57d430 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x160>
-  57d374:	4c 8b 60 38          	mov    0x38(%rax),%r12
-  57d378:	e8 33 8c f5 ff       	callq  4d5fb0 <_ZNK3lld3elf16InputSectionBaseIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE9getOffsetEm>
-  57d37d:	4c 01 e0             	add    %r12,%rax
-  57d380:	80 7b 22 06          	cmpb   $0x6,0x22(%rbx)
-  57d384:	0f 85 70 ff ff ff    	jne    57d2fa <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
-  57d38a:	48 8b 15 9f c8 a7 01 	mov    0x1a7c89f(%rip),%rdx        # 1ff9c30 <_ZN3lld3elf6ConfigE>
-  57d391:	80 ba a7 01 00 00 00 	cmpb   $0x0,0x1a7(%rdx)
-  57d398:	0f 85 5c ff ff ff    	jne    57d2fa <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
-  57d39e:	48 8b 15 f3 c8 a7 01 	mov    0x1a7c8f3(%rip),%rdx        # 1ff9c98 <_ZN3lld3elf3OutIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE7TlsPhdrE>
-  57d3a5:	48 85 d2             	test   %rdx,%rdx
-  57d3a8:	0f 84 ac 00 00 00    	je     57d45a <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x18a>
-  57d3ae:	48 2b 42 10          	sub    0x10(%rdx),%rax
-  57d3b2:	e9 43 ff ff ff       	jmpq   57d2fa <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
-  57d3b7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
-  57d3be:	00 00 
-  57d3c0:	31 c0                	xor    %eax,%eax
-  57d3c2:	f6 47 21 01          	testb  $0x1,0x21(%rdi)
-  57d3c6:	0f 84 2e ff ff ff    	je     57d2fa <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
-  57d3cc:	80 7f 22 02          	cmpb   $0x2,0x22(%rdi)
-  57d3d0:	74 7e                	je     57d450 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x180>
-  57d3d2:	48 8b 47 48          	mov    0x48(%rdi),%rax
-  57d3d6:	48 8b 15 2b 01 a8 01 	mov    0x1a8012b(%rip),%rdx        # 1ffd508 <_ZN3lld3elf3OutIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE3BssE>
-  57d3dd:	e9 45 ff ff ff       	jmpq   57d327 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x57>
-  57d3e2:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
-  57d3e8:	48 8b 15 d1 c9 a7 01 	mov    0x1a7c9d1(%rip),%rdx        # 1ff9dc0 <_ZN3lld3elf18CommonInputSectionIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE1XE>
-  57d3ef:	48 8b 47 38          	mov    0x38(%rdi),%rax
-  57d3f3:	48 03 42 70          	add    0x70(%rdx),%rax
-  57d3f7:	48 8b 52 58          	mov    0x58(%rdx),%rdx
-  57d3fb:	48 03 42 38          	add    0x38(%rdx),%rax
-  57d3ff:	48 83 c4 60          	add    $0x60,%rsp
-  57d403:	5b                   	pop    %rbx
-  57d404:	48 01 e8             	add    %rbp,%rax
-  57d407:	5d                   	pop    %rbp
-  57d408:	41 5c                	pop    %r12
-  57d40a:	c3                   	retq   
-  57d40b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
-  57d410:	48 8b 42 48          	mov    0x48(%rdx),%rax
-  57d414:	48 03 42 38          	add    0x38(%rdx),%rax
-  57d418:	e9 dd fe ff ff       	jmpq   57d2fa <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
-  57d41d:	0f 1f 00             	nopl   (%rax)
-  57d420:	48 01 ee             	add    %rbp,%rsi
-  57d423:	31 ed                	xor    %ebp,%ebp
-  57d425:	e9 3d ff ff ff       	jmpq   57d367 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x97>
-  57d42a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
-  57d430:	45 31 e4             	xor    %r12d,%r12d
-  57d433:	e9 40 ff ff ff       	jmpq   57d378 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0xa8>
-  57d438:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
-  57d43f:	00 
-  57d440:	48 8b 43 38          	mov    0x38(%rbx),%rax
-  57d444:	e9 b1 fe ff ff       	jmpq   57d2fa <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
-  57d449:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
-  57d450:	e8 eb f6 ff ff       	callq  57cb40 <_ZNK3lld3elf10SymbolBody8getPltVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintEv>
-  57d455:	e9 a0 fe ff ff       	jmpq   57d2fa <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
-  57d45a:	48 8b 73 18          	mov    0x18(%rbx),%rsi
-  57d45e:	48 8d 7c 24 20       	lea    0x20(%rsp),%rdi
-  57d463:	48 8d 5c 24 40       	lea    0x40(%rsp),%rbx
-  57d468:	e8 d3 23 f4 ff       	callq  4bf840 <_ZN3lld3elf11getFilenameB5cxx11EPKNS0_9InputFileE>
-  57d46d:	48 8d 74 24 20       	lea    0x20(%rsp),%rsi
-  57d472:	48 89 df             	mov    %rbx,%rdi
-  57d475:	ba c8 1f 64 01       	mov    $0x1641fc8,%edx
-  57d47a:	e8 31 8d f3 ff       	callq  4b61b0 <_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_>
-  57d47f:	48 89 e7             	mov    %rsp,%rdi
-  57d482:	c6 44 24 10 04       	movb   $0x4,0x10(%rsp)
-  57d487:	c6 44 24 11 01       	movb   $0x1,0x11(%rsp)
-  57d48c:	48 89 1c 24          	mov    %rbx,(%rsp)
-  57d490:	e8 9b 47 f3 ff       	callq  4b1c30 <_ZN3lld3elf5fatalERKN4llvm5TwineE>
-  57d495:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
-  57d49c:	00 00 00 
-  57d49f:	90                   	nop
+000000000057d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>:
+  57d2c0:	80 7f 20 06          	cmpb   $0x6,0x20(%rdi)
+  57d2c4:	0f 87 36 01 00 00    	ja     57d400 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x140>
+  57d2ca:	41 54                	push   %r12
+  57d2cc:	55                   	push   %rbp
+  57d2cd:	48 89 f5             	mov    %rsi,%rbp
+  57d2d0:	53                   	push   %rbx
+  57d2d1:	48 89 fb             	mov    %rdi,%rbx
+  57d2d4:	48 83 ec 60          	sub    $0x60,%rsp
+  57d2d8:	0f b6 47 20          	movzbl 0x20(%rdi),%eax
+  57d2dc:	ff 24 c5 c8 1f 64 01 	jmpq   *0x1641fc8(,%rax,8)
+  57d2e3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
+  57d2e8:	31 c0                	xor    %eax,%eax
+  57d2ea:	48 83 c4 60          	add    $0x60,%rsp
+  57d2ee:	48 01 e8             	add    %rbp,%rax
+  57d2f1:	5b                   	pop    %rbx
+  57d2f2:	5d                   	pop    %rbp
+  57d2f3:	41 5c                	pop    %r12
+  57d2f5:	c3                   	retq   
+  57d2f6:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
+  57d2fd:	00 00 00 
+  57d300:	48 8b 57 40          	mov    0x40(%rdi),%rdx
+  57d304:	48 8b 47 38          	mov    0x38(%rdi),%rax
+  57d308:	48 85 d2             	test   %rdx,%rdx
+  57d30b:	74 dd                	je     57d2ea <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
+  57d30d:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
+  57d311:	0f 84 e9 00 00 00    	je     57d400 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x140>
+  57d317:	48 03 42 38          	add    0x38(%rdx),%rax
+  57d31b:	48 83 c4 60          	add    $0x60,%rsp
+  57d31f:	5b                   	pop    %rbx
+  57d320:	48 01 e8             	add    %rbp,%rax
+  57d323:	5d                   	pop    %rbp
+  57d324:	41 5c                	pop    %r12
+  57d326:	c3                   	retq   
+  57d327:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
+  57d32e:	00 00 
+  57d330:	48 8b 47 48          	mov    0x48(%rdi),%rax
+  57d334:	48 8b 38             	mov    (%rax),%rdi
+  57d337:	48 81 ff c0 9a ff 01 	cmp    $0x1ff9ac0,%rdi
+  57d33e:	74 a8                	je     57d2e8 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x28>
+  57d340:	48 85 ff             	test   %rdi,%rdi
+  57d343:	0f 84 e7 00 00 00    	je     57d430 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x170>
+  57d349:	80 7b 22 03          	cmpb   $0x3,0x22(%rbx)
+  57d34d:	48 8b 73 38          	mov    0x38(%rbx),%rsi
+  57d351:	0f 84 b9 00 00 00    	je     57d410 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x150>
+  57d357:	48 8b 47 58          	mov    0x58(%rdi),%rax
+  57d35b:	48 85 c0             	test   %rax,%rax
+  57d35e:	0f 84 bc 00 00 00    	je     57d420 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x160>
+  57d364:	4c 8b 60 38          	mov    0x38(%rax),%r12
+  57d368:	e8 43 8c f5 ff       	callq  4d5fb0 <_ZNK3lld3elf16InputSectionBaseIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE9getOffsetEm>
+  57d36d:	4c 01 e0             	add    %r12,%rax
+  57d370:	80 7b 22 06          	cmpb   $0x6,0x22(%rbx)
+  57d374:	0f 85 70 ff ff ff    	jne    57d2ea <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
+  57d37a:	48 8b 15 af c8 a7 01 	mov    0x1a7c8af(%rip),%rdx        # 1ff9c30 <_ZN3lld3elf6ConfigE>
+  57d381:	80 ba a7 01 00 00 00 	cmpb   $0x0,0x1a7(%rdx)
+  57d388:	0f 85 5c ff ff ff    	jne    57d2ea <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
+  57d38e:	48 8b 15 03 c9 a7 01 	mov    0x1a7c903(%rip),%rdx        # 1ff9c98 <_ZN3lld3elf3OutIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE7TlsPhdrE>
+  57d395:	48 85 d2             	test   %rdx,%rdx
+  57d398:	0f 84 ac 00 00 00    	je     57d44a <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x18a>
+  57d39e:	48 2b 42 10          	sub    0x10(%rdx),%rax
+  57d3a2:	e9 43 ff ff ff       	jmpq   57d2ea <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
+  57d3a7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
+  57d3ae:	00 00 
+  57d3b0:	31 c0                	xor    %eax,%eax
+  57d3b2:	f6 47 21 01          	testb  $0x1,0x21(%rdi)
+  57d3b6:	0f 84 2e ff ff ff    	je     57d2ea <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
+  57d3bc:	80 7f 22 02          	cmpb   $0x2,0x22(%rdi)
+  57d3c0:	74 7e                	je     57d440 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x180>
+  57d3c2:	48 8b 47 48          	mov    0x48(%rdi),%rax
+  57d3c6:	48 8b 15 3b 01 a8 01 	mov    0x1a8013b(%rip),%rdx        # 1ffd508 <_ZN3lld3elf3OutIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE3BssE>
+  57d3cd:	e9 45 ff ff ff       	jmpq   57d317 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x57>
+  57d3d2:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
+  57d3d8:	48 8b 15 e1 c9 a7 01 	mov    0x1a7c9e1(%rip),%rdx        # 1ff9dc0 <_ZN3lld3elf18CommonInputSectionIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEE1XE>
+  57d3df:	48 8b 47 38          	mov    0x38(%rdi),%rax
+  57d3e3:	48 03 42 70          	add    0x70(%rdx),%rax
+  57d3e7:	48 8b 52 58          	mov    0x58(%rdx),%rdx
+  57d3eb:	48 03 42 38          	add    0x38(%rdx),%rax
+  57d3ef:	48 83 c4 60          	add    $0x60,%rsp
+  57d3f3:	5b                   	pop    %rbx
+  57d3f4:	48 01 e8             	add    %rbp,%rax
+  57d3f7:	5d                   	pop    %rbp
+  57d3f8:	41 5c                	pop    %r12
+  57d3fa:	c3                   	retq   
+  57d3fb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
+  57d400:	48 8b 42 48          	mov    0x48(%rdx),%rax
+  57d404:	48 03 42 38          	add    0x38(%rdx),%rax
+  57d408:	e9 dd fe ff ff       	jmpq   57d2ea <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
+  57d40d:	0f 1f 00             	nopl   (%rax)
+  57d410:	48 01 ee             	add    %rbp,%rsi
+  57d413:	31 ed                	xor    %ebp,%ebp
+  57d415:	e9 3d ff ff ff       	jmpq   57d357 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x97>
+  57d41a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
+  57d420:	45 31 e4             	xor    %r12d,%r12d
+  57d423:	e9 40 ff ff ff       	jmpq   57d368 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0xa8>
+  57d428:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
+  57d42f:	00 
+  57d430:	48 8b 43 38          	mov    0x38(%rbx),%rax
+  57d434:	e9 b1 fe ff ff       	jmpq   57d2ea <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
+  57d439:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
+  57d440:	e8 fb f6 ff ff       	callq  57cb40 <_ZNK3lld3elf10SymbolBody8getPltVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintEv>
+  57d445:	e9 a0 fe ff ff       	jmpq   57d2ea <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_+0x2a>
+  57d44a:	48 8b 73 18          	mov    0x18(%rbx),%rsi
+  57d44e:	48 8d 7c 24 20       	lea    0x20(%rsp),%rdi
+  57d453:	48 8d 5c 24 40       	lea    0x40(%rsp),%rbx
+  57d458:	e8 e3 23 f4 ff       	callq  4bf840 <_ZN3lld3elf11getFilenameB5cxx11EPKNS0_9InputFileE>
+  57d45d:	48 8d 74 24 20       	lea    0x20(%rsp),%rsi
+  57d462:	48 89 df             	mov    %rbx,%rdi
+  57d465:	ba c8 1f 64 01       	mov    $0x1641fc8,%edx
+  57d46a:	e8 41 8d f3 ff       	callq  4b61b0 <_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_>
+  57d46f:	48 89 e7             	mov    %rsp,%rdi
+  57d472:	c6 44 24 10 04       	movb   $0x4,0x10(%rsp)
+  57d477:	c6 44 24 11 01       	movb   $0x1,0x11(%rsp)
+  57d47c:	48 89 1c 24          	mov    %rbx,(%rsp)
+  57d480:	e8 ab 47 f3 ff       	callq  4b1c30 <_ZN3lld3elf5fatalERKN4llvm5TwineE>
+  57d485:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
+  57d48c:	00 00 00 
+  57d48f:	90                   	nop
+
+000000000057d490 <foobarzed>:
+  57d490:	c3                   	retq   
+  57d491:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
+  57d498:	00 00 00 
+  57d49b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
 
 000000000057d4a0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE0ELb1EEEEENT_4uintESA_>:
   57d4a0:	80 7f 20 06          	cmpb   $0x6,0x20(%rdi)
@@ -409933,7 +409933,7 @@
   583915:	31 f6                	xor    %esi,%esi
   583917:	48 83 ec 08          	sub    $0x8,%rsp
   58391b:	48 8b 7f 08          	mov    0x8(%rdi),%rdi
-  58391f:	e8 ac 99 ff ff       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  58391f:	e8 9c 99 ff ff       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   583924:	48 89 c5             	mov    %rax,%rbp
   583927:	48 c1 e8 02          	shr    $0x2,%rax
   58392b:	c7 03 00 00 19 3c    	movl   $0x3c190000,(%rbx)
@@ -410035,7 +410035,7 @@
   583a8a:	ff e0                	jmpq   *%rax
   583a8c:	0f 1f 40 00          	nopl   0x0(%rax)
   583a90:	31 f6                	xor    %esi,%esi
-  583a92:	e8 39 98 ff ff       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  583a92:	e8 29 98 ff ff       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   583a97:	eb 8f                	jmp    583a28 <_ZNK3lld3elf12_GLOBAL__N_124ThumbToARMV7ABSLongThunkIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEE7writeToEPh+0x18>
   583a99:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
 
@@ -410349,7 +410349,7 @@
   583eb2:	ff e0                	jmpq   *%rax
   583eb4:	0f 1f 40 00          	nopl   0x0(%rax)
   583eb8:	31 f6                	xor    %esi,%esi
-  583eba:	e8 11 94 ff ff       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  583eba:	e8 01 94 ff ff       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   583ebf:	eb 87                	jmp    583e48 <_ZNK3lld3elf12_GLOBAL__N_124ARMToThumbV7ABSLongThunkIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEE7writeToEPh+0x18>
   583ec1:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
   583ec8:	00 00 00 
@@ -411792,7 +411792,7 @@
   5855ca:	48 8b 40 60          	mov    0x60(%rax),%rax
   5855ce:	ff e0                	jmpq   *%rax
   5855d0:	31 f6                	xor    %esi,%esi
-  5855d2:	e8 f9 7c ff ff       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  5855d2:	e8 e9 7c ff ff       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   5855d7:	48 89 c3             	mov    %rax,%rbx
   5855da:	eb 90                	jmp    58556c <_ZNK3lld3elf12_GLOBAL__N_123ARMToThumbV7PILongThunkIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEE7writeToEPh+0x1c>
   5855dc:	0f 1f 40 00          	nopl   0x0(%rax)
@@ -411843,7 +411843,7 @@
   585677:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
   58567e:	00 00 
   585680:	31 f6                	xor    %esi,%esi
-  585682:	e8 49 7c ff ff       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  585682:	e8 39 7c ff ff       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   585687:	48 89 c5             	mov    %rax,%rbp
   58568a:	e9 71 ff ff ff       	jmpq   585600 <_ZNK3lld3elf12_GLOBAL__N_123ThumbToARMV7PILongThunkIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEE7writeToEPh+0x20>
   58568f:	90                   	nop
@@ -440964,7 +440964,7 @@
   5a0998:	0f 84 f7 06 00 00    	je     5a1095 <_ZN3lld3elf11writeResultIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEEEvv+0x3205>
   5a099e:	31 f6                	xor    %esi,%esi
   5a09a0:	48 89 c7             	mov    %rax,%rdi
-  5a09a3:	e8 28 c9 fd ff       	callq  57d2d0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
+  5a09a3:	e8 18 c9 fd ff       	callq  57d2c0 <_ZNK3lld3elf10SymbolBody5getVAIN4llvm6object7ELFTypeILNS3_7support10endiannessE1ELb1EEEEENT_4uintESA_>
   5a09a8:	e9 41 e0 ff ff       	jmpq   59e9ee <_ZN3lld3elf11writeResultIN4llvm6object7ELFTypeILNS2_7support10endiannessE1ELb1EEEEEvv+0xb5e>
   5a09ad:	c7 43 30 00 00 00 05 	movl   $0x5000000,0x30(%rbx)
   5a09b4:	48 8b 05 75 92 a5 01 	mov    0x1a59275(%rip),%rax        # 1ff9c30 <_ZN3lld3elf6ConfigE>


More information about the llvm-commits mailing list