File tree Expand file tree Collapse file tree 1 file changed +8
-0
lines changed
lib/Conversion/TPtrToLLVM Expand file tree Collapse file tree 1 file changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -70,6 +70,11 @@ struct PtrAddConverter : OpConversionPattern<tptr::PtrAddOp> {
7070 mulOp.getRhs ().getDefiningOp <tptr::TypeOffsetOp>()) {
7171 elemTy = typeOffsetOp.getBaseType ();
7272 }
73+ } else if (auto mulOp = origOffset.getDefiningOp <arith::MulIOp>()) {
74+ if (auto typeOffsetOp =
75+ mulOp.getRhs ().getDefiningOp <tptr::TypeOffsetOp>()) {
76+ elemTy = typeOffsetOp.getBaseType ();
77+ }
7378 }
7479
7580 if (!elemTy) {
@@ -84,6 +89,9 @@ struct PtrAddConverter : OpConversionPattern<tptr::PtrAddOp> {
8489 Value elementIndex;
8590 if (auto mulOp = adaptor.getOffset ().getDefiningOp <LLVM::MulOp>()) {
8691 elementIndex = mulOp.getLhs ();
92+ } else if (auto mulOp =
93+ adaptor.getOffset ().getDefiningOp <arith::MulIOp>()) {
94+ elementIndex = mulOp.getLhs ();
8795 } else {
8896 LDBG (" Warning: ptradd offset is not MulOp pattern, using raw offset" );
8997 elementIndex = adaptor.getOffset ();
You can’t perform that action at this time.
0 commit comments