projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[AVX512] add integer min/max intrinsics support.
[oota-llvm.git]
/
test
/
CodeGen
/
X86
/
avoid-loop-align-2.ll
diff --git
a/test/CodeGen/X86/avoid-loop-align-2.ll
b/test/CodeGen/X86/avoid-loop-align-2.ll
index 03e69e7a1a499010a4cb94d500d1c75adcb7741b..e02f3569c89d3c27b9e615fc1923dac966c0016d 100644
(file)
--- a/
test/CodeGen/X86/avoid-loop-align-2.ll
+++ b/
test/CodeGen/X86/avoid-loop-align-2.ll
@@
-1,4
+1,8
@@
-; RUN: llc < %s -march=x86 | grep align | count 3
+; RUN: llc < %s -march=x86 | grep align | count 4
+
+; TODO: Is it a good idea to align inner loops? It's hard to know without
+; knowing what their trip counts are, or other dynamic information. For
+; now, CodeGen aligns all loops.
@x = external global i32* ; <i32**> [#uses=1]
@x = external global i32* ; <i32**> [#uses=1]
@@
-9,7
+13,7
@@
entry:
bb.nph12: ; preds = %entry
%1 = icmp eq i32 %b, 0 ; <i1> [#uses=1]
bb.nph12: ; preds = %entry
%1 = icmp eq i32 %b, 0 ; <i1> [#uses=1]
- %2 = load i32*
* @x, align 8
; <i32*> [#uses=1]
+ %2 = load i32*
, i32** @x, align 8
; <i32*> [#uses=1]
br i1 %1, label %bb2.preheader, label %bb2.preheader.us
bb2.preheader.us: ; preds = %bb2.bb3_crit_edge.us, %bb.nph12
br i1 %1, label %bb2.preheader, label %bb2.preheader.us
bb2.preheader.us: ; preds = %bb2.bb3_crit_edge.us, %bb.nph12
@@
-22,8
+26,8
@@
bb1.us: ; preds = %bb1.us, %bb2.preheader.us
%indvar = phi i32 [ 0, %bb2.preheader.us ], [ %indvar.next, %bb1.us ] ; <i32> [#uses=2]
%tmp17 = add i32 %indvar, %tmp16 ; <i32> [#uses=1]
%tmp. = zext i32 %tmp17 to i64 ; <i64> [#uses=1]
%indvar = phi i32 [ 0, %bb2.preheader.us ], [ %indvar.next, %bb1.us ] ; <i32> [#uses=2]
%tmp17 = add i32 %indvar, %tmp16 ; <i32> [#uses=1]
%tmp. = zext i32 %tmp17 to i64 ; <i64> [#uses=1]
- %3 = getelementptr i32
* %2, i64 %tmp.
; <i32*> [#uses=1]
- %4 = load i32
* %3, align 4
; <i32> [#uses=2]
+ %3 = getelementptr i32
, i32* %2, i64 %tmp.
; <i32*> [#uses=1]
+ %4 = load i32
, i32* %3, align 4
; <i32> [#uses=2]
%indvar.next = add i32 %indvar, 1 ; <i32> [#uses=2]
%exitcond = icmp eq i32 %indvar.next, %b ; <i1> [#uses=1]
br i1 %exitcond, label %bb2.bb3_crit_edge.us, label %bb1.us
%indvar.next = add i32 %indvar, 1 ; <i32> [#uses=2]
%exitcond = icmp eq i32 %indvar.next, %b ; <i1> [#uses=1]
br i1 %exitcond, label %bb2.bb3_crit_edge.us, label %bb1.us