Kyle Butt
7fbec9bdf1
Codegen: Make chains from trellis-shaped CFGs
...
Lay out trellis-shaped CFGs optimally.
A trellis of the shape below:
A B
|\ /|
| \ / |
| X |
| / \ |
|/ \|
C D
would be laid out A; B->C ; D by the current layout algorithm. Now we identify
trellises and lay them out either A->C; B->D or A->D; B->C. This scales with an
increasing number of predecessors. A trellis is a a group of 2 or more
predecessor blocks that all have the same successors.
because of this we can tail duplicate to extend existing trellises.
As an example consider the following CFG:
B D F H
/ \ / \ / \ / \
A---C---E---G---Ret
Where A,C,E,G are all small (Currently 2 instructions).
The CFG preserving layout is then A,B,C,D,E,F,G,H,Ret.
The current code will copy C into B, E into D and G into F and yield the layout
A,C,B(C),E,D(E),F(G),G,H,ret
define void @straight_test(i32 %tag) {
entry:
br label %test1
test1: ; A
%tagbit1 = and i32 %tag, 1
%tagbit1eq0 = icmp eq i32 %tagbit1, 0
br i1 %tagbit1eq0, label %test2, label %optional1
optional1: ; B
call void @a()
br label %test2
test2: ; C
%tagbit2 = and i32 %tag, 2
%tagbit2eq0 = icmp eq i32 %tagbit2, 0
br i1 %tagbit2eq0, label %test3, label %optional2
optional2: ; D
call void @b()
br label %test3
test3: ; E
%tagbit3 = and i32 %tag, 4
%tagbit3eq0 = icmp eq i32 %tagbit3, 0
br i1 %tagbit3eq0, label %test4, label %optional3
optional3: ; F
call void @c()
br label %test4
test4: ; G
%tagbit4 = and i32 %tag, 8
%tagbit4eq0 = icmp eq i32 %tagbit4, 0
br i1 %tagbit4eq0, label %exit, label %optional4
optional4: ; H
call void @d()
br label %exit
exit:
ret void
}
here is the layout after D27742:
straight_test: # @straight_test
; ... Prologue elided
; BB#0: # %entry ; A (merged with test1)
; ... More prologue elided
mr 30, 3
andi. 3, 30, 1
bc 12, 1, .LBB0_2
; BB#1: # %test2 ; C
rlwinm. 3, 30, 0, 30, 30
beq 0, .LBB0_3
b .LBB0_4
.LBB0_2: # %optional1 ; B (copy of C)
bl a
nop
rlwinm. 3, 30, 0, 30, 30
bne 0, .LBB0_4
.LBB0_3: # %test3 ; E
rlwinm. 3, 30, 0, 29, 29
beq 0, .LBB0_5
b .LBB0_6
.LBB0_4: # %optional2 ; D (copy of E)
bl b
nop
rlwinm. 3, 30, 0, 29, 29
bne 0, .LBB0_6
.LBB0_5: # %test4 ; G
rlwinm. 3, 30, 0, 28, 28
beq 0, .LBB0_8
b .LBB0_7
.LBB0_6: # %optional3 ; F (copy of G)
bl c
nop
rlwinm. 3, 30, 0, 28, 28
beq 0, .LBB0_8
.LBB0_7: # %optional4 ; H
bl d
nop
.LBB0_8: # %exit ; Ret
ld 30, 96(1) # 8-byte Folded Reload
addi 1, 1, 112
ld 0, 16(1)
mtlr 0
blr
The tail-duplication has produced some benefit, but it has also produced a
trellis which is not laid out optimally. With this patch, we improve the layouts
of such trellises, and decrease the cost calculation for tail-duplication
accordingly.
This patch produces the layout A,C,E,G,B,D,F,H,Ret. This layout does have
back edges, which is a negative, but it has a bigger compensating
positive, which is that it handles the case where there are long strings
of skipped blocks much better than the original layout. Both layouts
handle runs of executed blocks equally well. Branch prediction also
improves if there is any correlation between subsequent optional blocks.
Here is the resulting concrete layout:
straight_test: # @straight_test
; BB#0: # %entry ; A (merged with test1)
mr 30, 3
andi. 3, 30, 1
bc 12, 1, .LBB0_4
; BB#1: # %test2 ; C
rlwinm. 3, 30, 0, 30, 30
bne 0, .LBB0_5
.LBB0_2: # %test3 ; E
rlwinm. 3, 30, 0, 29, 29
bne 0, .LBB0_6
.LBB0_3: # %test4 ; G
rlwinm. 3, 30, 0, 28, 28
bne 0, .LBB0_7
b .LBB0_8
.LBB0_4: # %optional1 ; B (Copy of C)
bl a
nop
rlwinm. 3, 30, 0, 30, 30
beq 0, .LBB0_2
.LBB0_5: # %optional2 ; D (Copy of E)
bl b
nop
rlwinm. 3, 30, 0, 29, 29
beq 0, .LBB0_3
.LBB0_6: # %optional3 ; F (Copy of G)
bl c
nop
rlwinm. 3, 30, 0, 28, 28
beq 0, .LBB0_8
.LBB0_7: # %optional4 ; H
bl d
nop
.LBB0_8: # %exit
Differential Revision: https://reviews.llvm.org/D28522
llvm-svn: 295223
2017-02-15 19:49:14 +00:00
..
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-04-28 21:24:37 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-25 01:27:13 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-02-11 17:48:49 +00:00
2016-08-03 18:17:35 +00:00
2016-09-07 07:36:11 +00:00
2016-08-03 18:17:35 +00:00
2016-08-25 01:27:13 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-12-15 00:01:53 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-09-02 02:58:25 +00:00
2017-02-02 18:24:55 +00:00
2016-10-24 15:46:58 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-30 00:22:22 +00:00
2016-08-28 16:17:58 +00:00
2016-04-19 23:51:52 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-10-04 11:25:52 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 21:43:51 +00:00
2016-08-03 18:17:35 +00:00
2016-10-11 20:36:43 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-12-16 00:33:07 +00:00
2016-08-03 18:17:35 +00:00
2016-11-11 14:41:19 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-07-12 12:16:27 +00:00
2016-08-03 18:17:35 +00:00
2017-01-10 23:43:04 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-02-02 18:24:55 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-05-17 19:52:01 +00:00
2017-01-16 20:12:26 +00:00
2017-01-16 20:12:26 +00:00
2016-09-06 12:30:00 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-12-15 00:01:53 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-19 03:03:24 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-09-01 10:28:47 +00:00
2016-09-06 12:30:00 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-01-16 20:12:26 +00:00
2017-01-16 20:12:26 +00:00
2017-01-16 20:12:26 +00:00
2017-01-16 20:12:26 +00:00
2017-01-16 20:12:26 +00:00
2017-01-16 20:12:26 +00:00
2017-01-16 20:12:26 +00:00
2017-01-16 20:12:26 +00:00
2017-01-16 20:12:26 +00:00
2017-01-16 20:12:26 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-12-15 00:01:53 +00:00
2016-09-04 06:07:19 +00:00
2016-10-24 17:31:09 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-01-26 15:02:31 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-10-04 11:25:52 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-01-31 14:35:37 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-01-16 20:12:26 +00:00
2016-08-03 18:17:35 +00:00
2017-01-04 22:11:42 +00:00
2017-01-23 22:39:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-12-15 00:01:53 +00:00
2016-12-15 00:01:53 +00:00
2016-08-03 18:17:35 +00:00
2016-05-18 00:27:17 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-01-16 20:12:26 +00:00
2017-01-16 20:12:26 +00:00
2016-08-03 18:17:35 +00:00
2017-01-16 20:12:26 +00:00
2016-08-03 18:17:35 +00:00
2016-10-04 11:25:52 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-24 21:34:27 +00:00
2017-01-16 20:12:26 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-10-04 06:59:23 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-01-16 20:12:26 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-02-02 18:24:55 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-10-04 06:59:23 +00:00
2016-08-03 18:17:35 +00:00
2016-08-30 00:59:23 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-09-22 09:52:19 +00:00
2016-10-04 06:59:23 +00:00
2016-08-03 18:17:35 +00:00
2017-02-03 11:14:39 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-12-15 00:01:53 +00:00
2016-10-04 11:25:52 +00:00
2016-11-16 00:37:30 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-12-15 00:01:53 +00:00
2016-10-04 11:25:52 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-12-15 00:01:53 +00:00
2017-01-26 15:02:31 +00:00
2016-09-01 09:42:39 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-01-31 23:48:32 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-10-19 16:58:59 +00:00
2016-08-03 18:17:35 +00:00
2016-08-31 00:52:03 +00:00
2016-10-27 05:17:58 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-24 22:34:06 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-25 01:27:13 +00:00
2017-01-16 20:12:26 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-01-16 20:12:26 +00:00
2016-11-29 16:11:34 +00:00
2016-08-03 18:17:35 +00:00
2016-10-28 19:38:24 +00:00
2016-12-09 17:21:42 +00:00
2016-12-15 00:01:53 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-12-15 11:16:20 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-09-22 17:22:43 +00:00
2016-09-22 17:22:43 +00:00
2016-08-05 08:47:26 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-02-02 18:24:55 +00:00
2016-08-03 18:17:35 +00:00
2016-09-14 20:22:03 +00:00
2017-01-04 21:05:13 +00:00
2016-08-03 18:17:35 +00:00
2016-12-15 00:01:53 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-11-29 23:00:33 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-12-15 00:01:53 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-12-15 00:01:53 +00:00
2017-01-04 21:05:13 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-09-14 20:22:03 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-10-04 11:25:52 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-01-16 20:12:26 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-01-22 20:28:56 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-10-02 02:10:20 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-12-22 00:45:21 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-12-20 02:09:43 +00:00
2016-08-03 18:17:35 +00:00
2016-10-04 11:25:52 +00:00
2016-10-04 11:25:52 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-10-06 18:58:24 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-05 15:22:05 +00:00
2016-09-22 19:06:38 +00:00
2016-10-14 21:25:29 +00:00
2016-10-12 00:48:25 +00:00
2016-10-26 19:51:35 +00:00
2016-12-12 22:09:02 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-10-27 19:10:09 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-10-04 20:46:43 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-07-18 15:30:00 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-01-31 13:43:11 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-11-18 10:41:44 +00:00
2016-09-06 23:02:23 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-12-22 20:59:39 +00:00
2016-09-02 02:34:44 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-02-01 14:33:57 +00:00
2016-10-11 20:36:43 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-09-22 17:22:43 +00:00
2016-08-03 18:17:35 +00:00
2016-09-22 17:22:43 +00:00
2016-07-13 20:36:03 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-02-02 18:24:55 +00:00
2017-02-02 18:24:55 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-01-16 20:12:26 +00:00
2017-01-16 20:12:26 +00:00
2016-08-03 18:17:35 +00:00
2016-12-15 20:51:09 +00:00
2016-11-29 23:00:33 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-10-04 11:25:52 +00:00
2017-01-26 18:59:15 +00:00
2016-10-24 17:31:09 +00:00
2016-10-11 20:36:43 +00:00
2017-02-15 19:49:14 +00:00
2017-02-15 19:49:14 +00:00
2016-12-15 00:01:53 +00:00
2016-08-03 18:17:35 +00:00
2016-12-15 00:01:53 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-12-15 00:01:53 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-01-10 22:02:30 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-01-22 20:28:56 +00:00
2016-08-03 18:17:35 +00:00
2016-12-03 23:03:26 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-02-07 18:57:29 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-05 21:49:54 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-05-17 19:52:01 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-10-04 11:25:52 +00:00
2016-10-04 11:25:52 +00:00
2016-09-22 09:52:19 +00:00
2017-01-31 13:43:11 +00:00
2016-10-04 11:25:52 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2017-01-31 13:43:11 +00:00
2016-08-03 18:17:35 +00:00
2016-09-22 09:52:19 +00:00
2016-11-29 23:00:33 +00:00
2016-08-03 18:17:35 +00:00
2016-10-04 06:59:23 +00:00
2017-01-22 20:28:56 +00:00
2016-12-06 11:47:14 +00:00
2016-08-03 18:17:35 +00:00
2016-10-04 06:59:23 +00:00
2016-10-04 11:25:52 +00:00
2016-10-04 07:37:38 +00:00
2016-08-03 18:17:35 +00:00
2016-12-15 00:01:53 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00
2016-08-03 18:17:35 +00:00