diff options
Diffstat (limited to 'test/CodeGen/X86/2011-10-12-MachineCSE.ll')
-rw-r--r-- | test/CodeGen/X86/2011-10-12-MachineCSE.ll | 90 |
1 files changed, 45 insertions, 45 deletions
diff --git a/test/CodeGen/X86/2011-10-12-MachineCSE.ll b/test/CodeGen/X86/2011-10-12-MachineCSE.ll index 72e672a..5018db7 100644 --- a/test/CodeGen/X86/2011-10-12-MachineCSE.ll +++ b/test/CodeGen/X86/2011-10-12-MachineCSE.ll @@ -16,35 +16,35 @@ target triple = "x86_64-apple-macosx10.7.2" define %struct.rtx_def* @gen_add3_insn(%struct.rtx_def* %r0, %struct.rtx_def* %r1, %struct.rtx_def* %c) nounwind uwtable ssp { entry: %0 = bitcast %struct.rtx_def* %r0 to i32* - %1 = load i32* %0, align 8 + %1 = load i32, i32* %0, align 8 %2 = lshr i32 %1, 16 %bf.clear = and i32 %2, 255 %idxprom = sext i32 %bf.clear to i64 - %3 = load %struct.optab** getelementptr inbounds ([49 x %struct.optab*]* @optab_table, i32 0, i64 0), align 8 - %handlers = getelementptr inbounds %struct.optab* %3, i32 0, i32 1 - %arrayidx = getelementptr inbounds [59 x %struct.anon.3]* %handlers, i32 0, i64 %idxprom - %insn_code = getelementptr inbounds %struct.anon.3* %arrayidx, i32 0, i32 0 - %4 = load i32* %insn_code, align 4 + %3 = load %struct.optab*, %struct.optab** getelementptr inbounds ([49 x %struct.optab*], [49 x %struct.optab*]* @optab_table, i32 0, i64 0), align 8 + %handlers = getelementptr inbounds %struct.optab, %struct.optab* %3, i32 0, i32 1 + %arrayidx = getelementptr inbounds [59 x %struct.anon.3], [59 x %struct.anon.3]* %handlers, i32 0, i64 %idxprom + %insn_code = getelementptr inbounds %struct.anon.3, %struct.anon.3* %arrayidx, i32 0, i32 0 + %4 = load i32, i32* %insn_code, align 4 %cmp = icmp eq i32 %4, 1317 br i1 %cmp, label %if.then, label %lor.lhs.false lor.lhs.false: ; preds = %entry %idxprom1 = sext i32 %4 to i64 - %arrayidx2 = getelementptr inbounds [0 x %struct.insn_data]* @insn_data, i32 0, i64 %idxprom1 - %operand = getelementptr inbounds %struct.insn_data* %arrayidx2, i32 0, i32 3 - %5 = load %struct.insn_operand_data** %operand, align 8 - %arrayidx3 = getelementptr inbounds %struct.insn_operand_data* %5, i64 0 - %predicate = getelementptr inbounds %struct.insn_operand_data* %arrayidx3, i32 0, i32 0 - %6 = load i32 (%struct.rtx_def*, i32)** %predicate, align 8 + %arrayidx2 = getelementptr inbounds [0 x %struct.insn_data], [0 x %struct.insn_data]* @insn_data, i32 0, i64 %idxprom1 + %operand = getelementptr inbounds %struct.insn_data, %struct.insn_data* %arrayidx2, i32 0, i32 3 + %5 = load %struct.insn_operand_data*, %struct.insn_operand_data** %operand, align 8 + %arrayidx3 = getelementptr inbounds %struct.insn_operand_data, %struct.insn_operand_data* %5, i64 0 + %predicate = getelementptr inbounds %struct.insn_operand_data, %struct.insn_operand_data* %arrayidx3, i32 0, i32 0 + %6 = load i32 (%struct.rtx_def*, i32)*, i32 (%struct.rtx_def*, i32)** %predicate, align 8 %idxprom4 = sext i32 %4 to i64 - %arrayidx5 = getelementptr inbounds [0 x %struct.insn_data]* @insn_data, i32 0, i64 %idxprom4 - %operand6 = getelementptr inbounds %struct.insn_data* %arrayidx5, i32 0, i32 3 - %7 = load %struct.insn_operand_data** %operand6, align 8 - %arrayidx7 = getelementptr inbounds %struct.insn_operand_data* %7, i64 0 + %arrayidx5 = getelementptr inbounds [0 x %struct.insn_data], [0 x %struct.insn_data]* @insn_data, i32 0, i64 %idxprom4 + %operand6 = getelementptr inbounds %struct.insn_data, %struct.insn_data* %arrayidx5, i32 0, i32 3 + %7 = load %struct.insn_operand_data*, %struct.insn_operand_data** %operand6, align 8 + %arrayidx7 = getelementptr inbounds %struct.insn_operand_data, %struct.insn_operand_data* %7, i64 0 %8 = bitcast %struct.insn_operand_data* %arrayidx7 to i8* - %bf.field.offs = getelementptr i8* %8, i32 16 + %bf.field.offs = getelementptr i8, i8* %8, i32 16 %9 = bitcast i8* %bf.field.offs to i32* - %10 = load i32* %9, align 8 + %10 = load i32, i32* %9, align 8 %bf.clear8 = and i32 %10, 65535 %call = tail call i32 %6(%struct.rtx_def* %r0, i32 %bf.clear8) %tobool = icmp ne i32 %call, 0 @@ -52,21 +52,21 @@ lor.lhs.false: ; preds = %entry lor.lhs.false9: ; preds = %lor.lhs.false %idxprom10 = sext i32 %4 to i64 - %arrayidx11 = getelementptr inbounds [0 x %struct.insn_data]* @insn_data, i32 0, i64 %idxprom10 - %operand12 = getelementptr inbounds %struct.insn_data* %arrayidx11, i32 0, i32 3 - %11 = load %struct.insn_operand_data** %operand12, align 8 - %arrayidx13 = getelementptr inbounds %struct.insn_operand_data* %11, i64 1 - %predicate14 = getelementptr inbounds %struct.insn_operand_data* %arrayidx13, i32 0, i32 0 - %12 = load i32 (%struct.rtx_def*, i32)** %predicate14, align 8 + %arrayidx11 = getelementptr inbounds [0 x %struct.insn_data], [0 x %struct.insn_data]* @insn_data, i32 0, i64 %idxprom10 + %operand12 = getelementptr inbounds %struct.insn_data, %struct.insn_data* %arrayidx11, i32 0, i32 3 + %11 = load %struct.insn_operand_data*, %struct.insn_operand_data** %operand12, align 8 + %arrayidx13 = getelementptr inbounds %struct.insn_operand_data, %struct.insn_operand_data* %11, i64 1 + %predicate14 = getelementptr inbounds %struct.insn_operand_data, %struct.insn_operand_data* %arrayidx13, i32 0, i32 0 + %12 = load i32 (%struct.rtx_def*, i32)*, i32 (%struct.rtx_def*, i32)** %predicate14, align 8 %idxprom15 = sext i32 %4 to i64 - %arrayidx16 = getelementptr inbounds [0 x %struct.insn_data]* @insn_data, i32 0, i64 %idxprom15 - %operand17 = getelementptr inbounds %struct.insn_data* %arrayidx16, i32 0, i32 3 - %13 = load %struct.insn_operand_data** %operand17, align 8 - %arrayidx18 = getelementptr inbounds %struct.insn_operand_data* %13, i64 1 + %arrayidx16 = getelementptr inbounds [0 x %struct.insn_data], [0 x %struct.insn_data]* @insn_data, i32 0, i64 %idxprom15 + %operand17 = getelementptr inbounds %struct.insn_data, %struct.insn_data* %arrayidx16, i32 0, i32 3 + %13 = load %struct.insn_operand_data*, %struct.insn_operand_data** %operand17, align 8 + %arrayidx18 = getelementptr inbounds %struct.insn_operand_data, %struct.insn_operand_data* %13, i64 1 %14 = bitcast %struct.insn_operand_data* %arrayidx18 to i8* - %bf.field.offs19 = getelementptr i8* %14, i32 16 + %bf.field.offs19 = getelementptr i8, i8* %14, i32 16 %15 = bitcast i8* %bf.field.offs19 to i32* - %16 = load i32* %15, align 8 + %16 = load i32, i32* %15, align 8 %bf.clear20 = and i32 %16, 65535 %call21 = tail call i32 %12(%struct.rtx_def* %r1, i32 %bf.clear20) %tobool22 = icmp ne i32 %call21, 0 @@ -74,21 +74,21 @@ lor.lhs.false9: ; preds = %lor.lhs.false lor.lhs.false23: ; preds = %lor.lhs.false9 %idxprom24 = sext i32 %4 to i64 - %arrayidx25 = getelementptr inbounds [0 x %struct.insn_data]* @insn_data, i32 0, i64 %idxprom24 - %operand26 = getelementptr inbounds %struct.insn_data* %arrayidx25, i32 0, i32 3 - %17 = load %struct.insn_operand_data** %operand26, align 8 - %arrayidx27 = getelementptr inbounds %struct.insn_operand_data* %17, i64 2 - %predicate28 = getelementptr inbounds %struct.insn_operand_data* %arrayidx27, i32 0, i32 0 - %18 = load i32 (%struct.rtx_def*, i32)** %predicate28, align 8 + %arrayidx25 = getelementptr inbounds [0 x %struct.insn_data], [0 x %struct.insn_data]* @insn_data, i32 0, i64 %idxprom24 + %operand26 = getelementptr inbounds %struct.insn_data, %struct.insn_data* %arrayidx25, i32 0, i32 3 + %17 = load %struct.insn_operand_data*, %struct.insn_operand_data** %operand26, align 8 + %arrayidx27 = getelementptr inbounds %struct.insn_operand_data, %struct.insn_operand_data* %17, i64 2 + %predicate28 = getelementptr inbounds %struct.insn_operand_data, %struct.insn_operand_data* %arrayidx27, i32 0, i32 0 + %18 = load i32 (%struct.rtx_def*, i32)*, i32 (%struct.rtx_def*, i32)** %predicate28, align 8 %idxprom29 = sext i32 %4 to i64 - %arrayidx30 = getelementptr inbounds [0 x %struct.insn_data]* @insn_data, i32 0, i64 %idxprom29 - %operand31 = getelementptr inbounds %struct.insn_data* %arrayidx30, i32 0, i32 3 - %19 = load %struct.insn_operand_data** %operand31, align 8 - %arrayidx32 = getelementptr inbounds %struct.insn_operand_data* %19, i64 2 + %arrayidx30 = getelementptr inbounds [0 x %struct.insn_data], [0 x %struct.insn_data]* @insn_data, i32 0, i64 %idxprom29 + %operand31 = getelementptr inbounds %struct.insn_data, %struct.insn_data* %arrayidx30, i32 0, i32 3 + %19 = load %struct.insn_operand_data*, %struct.insn_operand_data** %operand31, align 8 + %arrayidx32 = getelementptr inbounds %struct.insn_operand_data, %struct.insn_operand_data* %19, i64 2 %20 = bitcast %struct.insn_operand_data* %arrayidx32 to i8* - %bf.field.offs33 = getelementptr i8* %20, i32 16 + %bf.field.offs33 = getelementptr i8, i8* %20, i32 16 %21 = bitcast i8* %bf.field.offs33 to i32* - %22 = load i32* %21, align 8 + %22 = load i32, i32* %21, align 8 %bf.clear34 = and i32 %22, 65535 %call35 = tail call i32 %18(%struct.rtx_def* %c, i32 %bf.clear34) %tobool36 = icmp ne i32 %call35, 0 @@ -99,9 +99,9 @@ if.then: ; preds = %lor.lhs.false23, %l if.end: ; preds = %lor.lhs.false23 %idxprom37 = sext i32 %4 to i64 - %arrayidx38 = getelementptr inbounds [0 x %struct.insn_data]* @insn_data, i32 0, i64 %idxprom37 - %genfun = getelementptr inbounds %struct.insn_data* %arrayidx38, i32 0, i32 2 - %23 = load %struct.rtx_def* (%struct.rtx_def*, ...)** %genfun, align 8 + %arrayidx38 = getelementptr inbounds [0 x %struct.insn_data], [0 x %struct.insn_data]* @insn_data, i32 0, i64 %idxprom37 + %genfun = getelementptr inbounds %struct.insn_data, %struct.insn_data* %arrayidx38, i32 0, i32 2 + %23 = load %struct.rtx_def* (%struct.rtx_def*, ...)*, %struct.rtx_def* (%struct.rtx_def*, ...)** %genfun, align 8 %call39 = tail call %struct.rtx_def* (%struct.rtx_def*, ...)* %23(%struct.rtx_def* %r0, %struct.rtx_def* %r1, %struct.rtx_def* %c) br label %return |