Skip to content

Commit

Permalink
[Autobackout][FunctionalRegression]Revert of change: 5361ed8: Copy al…
Browse files Browse the repository at this point in the history
…l required data from shadow memory

This change is to copy all data from shadow memory to the global memory.
  • Loading branch information
sys-igc authored and igcbot committed Sep 2, 2024
1 parent e98892d commit 9538367
Showing 1 changed file with 39 additions and 67 deletions.
106 changes: 39 additions & 67 deletions IGC/AdaptorCommon/RayTracing/AutoGenRTStackAccessPrivateOS.h
Original file line number Diff line number Diff line change
Expand Up @@ -1631,32 +1631,32 @@ void _copyMemHitInProceed_Xe(Value* arg_0, Value* arg_1, Value* arg_2)
auto* BB_5 = BasicBlock::Create(*Ctx.getLLVMContext(), VALUE_NAME("_copyMemHitInProceed_Xe."), _JoinBB->getParent(), _JoinBB);
auto* BB_6 = BasicBlock::Create(*Ctx.getLLVMContext(), VALUE_NAME("_copyMemHitInProceed_Xe."), _JoinBB->getParent(), _JoinBB);
SetInsertPoint(BB_3);
auto* V_7 = CreateBitCast(arg_1, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
CreateCondBr(arg_2, BB_4, BB_5);
SetInsertPoint(BB_4);
auto* V_8 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(0), getInt32(3) });
auto* V_9 = CreateLoad(getInt32Ty(), V_8);
auto* V_10 = CreateInsertElement(ConstantVector::get({ getInt32(0), getInt32(0), getInt32(0), UndefValue::get(getInt32Ty()), getInt32(0), getInt32(0), getInt32(0), getInt32(0) }), V_9, getInt64(3));
auto* V_11 = CreateBitCast(arg_0, PointerType::get(IGCLLVM::FixedVectorType::get(getInt32Ty(), 8), arg_0->getType()->getPointerAddressSpace()));
CreateStore(V_10, V_11);
auto* V_12 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(1) });
auto* V_13 = CreateBitCast(V_12, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
auto* V_14 = CreateLoad(getInt32Ty(), V_13);
auto* V_15 = CreateInsertElement(ConstantVector::get({ UndefValue::get(getInt32Ty()), getInt32(0), getInt32(0), UndefValue::get(getInt32Ty()), getInt32(0), getInt32(0), getInt32(0), getInt32(0) }), V_14, getInt64(0));
auto* V_7 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(0), getInt32(3) });
auto* V_8 = CreateLoad(getInt32Ty(), V_7);
auto* V_9 = CreateInsertElement(ConstantVector::get({ getInt32(0), getInt32(0), getInt32(0), UndefValue::get(getInt32Ty()) }), V_8, getInt64(3));
auto* V_10 = CreateBitCast(arg_0, PointerType::get(IGCLLVM::FixedVectorType::get(getInt32Ty(), 4), arg_0->getType()->getPointerAddressSpace()));
CreateStore(V_9, V_10);
auto* V_11 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(1) });
auto* V_12 = CreateBitCast(V_11, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
auto* V_13 = CreateLoad(getInt32Ty(), V_12);
auto* V_14 = CreateInsertElement(ConstantVector::get({ UndefValue::get(getInt32Ty()), getInt32(0), getInt32(0), UndefValue::get(getInt32Ty()) }), V_13, getInt64(0));
CreateBr(BB_6);
SetInsertPoint(BB_6);
auto* V_16 = CreatePHI(IGCLLVM::FixedVectorType::get(getInt32Ty(), 8), 2);
auto* V_17 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(1), getInt32(3) });
auto* V_18 = CreateLoad(getInt32Ty(), V_17);
auto* V_19 = CreateOr(V_18, getInt32(268435456));
auto* V_20 = CreateInsertElement(V_16, V_19, getInt64(3));
auto* V_21 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_0, { getInt64(0), getInt32(1) });
auto* V_22 = CreateBitCast(V_21, PointerType::get(IGCLLVM::FixedVectorType::get(getInt32Ty(), 8), arg_0->getType()->getPointerAddressSpace()));
CreateStore(V_20, V_22);
auto* V_15 = CreatePHI(IGCLLVM::FixedVectorType::get(getInt32Ty(), 4), 2);
auto* V_16 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(1), getInt32(3) });
auto* V_17 = CreateLoad(getInt32Ty(), V_16);
auto* V_18 = CreateOr(V_17, getInt32(268435456));
auto* V_19 = CreateInsertElement(V_15, V_18, getInt64(3));
auto* V_20 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_0, { getInt64(0), getInt32(1) });
auto* V_21 = CreateBitCast(V_20, PointerType::get(IGCLLVM::FixedVectorType::get(getInt32Ty(), 4), arg_0->getType()->getPointerAddressSpace()));
CreateStore(V_19, V_21);
CreateBr(_JoinBB);
SetInsertPoint(BB_5);
auto* V_23 = CreateLoad(getInt32Ty(), V_7);
auto* V_24 = CreateInsertElement(UndefValue::get(IGCLLVM::FixedVectorType::get(getInt32Ty(), 8)), V_23, getInt64(0));
auto* V_22 = CreateBitCast(arg_1, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
auto* V_23 = CreateLoad(getInt32Ty(), V_22);
auto* V_24 = CreateInsertElement(UndefValue::get(IGCLLVM::FixedVectorType::get(getInt32Ty(), 4)), V_23, getInt64(0));
auto* V_25 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(0), getInt32(1) });
auto* V_26 = CreateBitCast(V_25, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
auto* V_27 = CreateLoad(getInt32Ty(), V_26);
Expand All @@ -1665,54 +1665,26 @@ void _copyMemHitInProceed_Xe(Value* arg_0, Value* arg_1, Value* arg_2)
auto* V_30 = CreateBitCast(V_29, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
auto* V_31 = CreateLoad(getInt32Ty(), V_30);
auto* V_32 = CreateInsertElement(V_28, V_31, getInt64(2));
auto* V_33 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(0), getInt32(4) });
auto* V_34 = CreateBitCast(V_33, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
auto* V_35 = CreateLoad(getInt32Ty(), V_34);
auto* V_36 = CreateInsertElement(V_32, V_35, getInt64(4));
auto* V_37 = CreateInBoundsGEP(getInt32Ty(), V_7, getInt64(5));
auto* V_38 = CreateLoad(getInt32Ty(), V_37);
auto* V_39 = CreateInsertElement(V_36, V_38, getInt64(5));
auto* V_40 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(0), getInt32(5) });
auto* V_41 = CreateBitCast(V_40, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
auto* V_42 = CreateLoad(getInt32Ty(), V_41);
auto* V_43 = CreateInsertElement(V_39, V_42, getInt64(6));
auto* V_44 = CreateInBoundsGEP(getInt32Ty(), V_7, getInt64(7));
auto* V_45 = CreateLoad(getInt32Ty(), V_44);
auto* V_46 = CreateInsertElement(V_43, V_45, getInt64(7));
auto* V_47 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(0), getInt32(3) });
auto* V_48 = CreateLoad(getInt32Ty(), V_47);
auto* V_49 = CreateInsertElement(V_46, V_48, getInt64(3));
auto* V_50 = CreateBitCast(arg_0, PointerType::get(IGCLLVM::FixedVectorType::get(getInt32Ty(), 8), arg_0->getType()->getPointerAddressSpace()));
CreateStore(V_49, V_50);
auto* V_51 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(1) });
auto* V_52 = CreateBitCast(V_51, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
auto* V_53 = CreateLoad(getInt32Ty(), V_52);
auto* V_54 = CreateInsertElement(UndefValue::get(IGCLLVM::FixedVectorType::get(getInt32Ty(), 8)), V_53, getInt64(0));
auto* V_55 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(1), getInt32(1) });
auto* V_56 = CreateBitCast(V_55, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
auto* V_57 = CreateLoad(getInt32Ty(), V_56);
auto* V_58 = CreateInsertElement(V_54, V_57, getInt64(1));
auto* V_59 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(1), getInt32(2) });
auto* V_60 = CreateBitCast(V_59, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
auto* V_61 = CreateLoad(getInt32Ty(), V_60);
auto* V_62 = CreateInsertElement(V_58, V_61, getInt64(2));
auto* V_63 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(1), getInt32(4) });
auto* V_64 = CreateBitCast(V_63, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
auto* V_65 = CreateLoad(getInt32Ty(), V_64);
auto* V_66 = CreateInsertElement(V_62, V_65, getInt64(4));
auto* V_67 = CreateInBoundsGEP(getInt32Ty(), V_52, getInt64(5));
auto* V_68 = CreateLoad(getInt32Ty(), V_67);
auto* V_69 = CreateInsertElement(V_66, V_68, getInt64(5));
auto* V_70 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(1), getInt32(5) });
auto* V_71 = CreateBitCast(V_70, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
auto* V_72 = CreateLoad(getInt32Ty(), V_71);
auto* V_73 = CreateInsertElement(V_69, V_72, getInt64(6));
auto* V_74 = CreateInBoundsGEP(getInt32Ty(), V_52, getInt64(7));
auto* V_75 = CreateLoad(getInt32Ty(), V_74);
auto* V_76 = CreateInsertElement(V_73, V_75, getInt64(7));
auto* V_33 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(0), getInt32(3) });
auto* V_34 = CreateLoad(getInt32Ty(), V_33);
auto* V_35 = CreateInsertElement(V_32, V_34, getInt64(3));
auto* V_36 = CreateBitCast(arg_0, PointerType::get(IGCLLVM::FixedVectorType::get(getInt32Ty(), 4), arg_0->getType()->getPointerAddressSpace()));
CreateStore(V_35, V_36);
auto* V_37 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(1) });
auto* V_38 = CreateBitCast(V_37, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
auto* V_39 = CreateLoad(getInt32Ty(), V_38);
auto* V_40 = CreateInsertElement(UndefValue::get(IGCLLVM::FixedVectorType::get(getInt32Ty(), 4)), V_39, getInt64(0));
auto* V_41 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(1), getInt32(1) });
auto* V_42 = CreateBitCast(V_41, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
auto* V_43 = CreateLoad(getInt32Ty(), V_42);
auto* V_44 = CreateInsertElement(V_40, V_43, getInt64(1));
auto* V_45 = CreateInBoundsGEP(_struct_RTStackFormat__RTStack(*Ctx.getModule()), arg_1, { getInt64(0), getInt32(1), getInt32(2) });
auto* V_46 = CreateBitCast(V_45, PointerType::get(getInt32Ty(), arg_1->getType()->getPointerAddressSpace()));
auto* V_47 = CreateLoad(getInt32Ty(), V_46);
auto* V_48 = CreateInsertElement(V_44, V_47, getInt64(2));
CreateBr(BB_6);
V_16->addIncoming(V_15, BB_4);
V_16->addIncoming(V_76, BB_5);
V_15->addIncoming(V_14, BB_4);
V_15->addIncoming(V_48, BB_5);
SetInsertPoint(_CurIP);
}

Expand Down

0 comments on commit 9538367

Please sign in to comment.