craig.topper added inline comments.
================ Comment at: clang/include/clang/Basic/riscv_vector.td:629 { - if (DefaultPolicy == TAIL_AGNOSTIC) - Ops.insert(Ops.begin(), llvm::PoisonValue::get(ResultType)); - IntrinsicTypes = {ResultType, Ops[3]->getType()}; - Ops[1] = Builder.CreateBitCast(Ops[1], ResultType->getPointerTo()); - Value *NewVL = Ops[2]; - Ops.erase(Ops.begin() + 2); - llvm::Function *F = CGM.getIntrinsic(ID, IntrinsicTypes); - llvm::Value *LoadValue = Builder.CreateCall(F, Ops, ""); - llvm::Value *V = Builder.CreateExtractValue(LoadValue, {0}); - // Store new_vl. - clang::CharUnits Align = - CGM.getNaturalPointeeTypeAlignment(E->getArg(1)->getType()); - llvm::Value *Val = Builder.CreateExtractValue(LoadValue, {1}); - Builder.CreateStore(Val, Address(NewVL, Val->getType(), Align)); - return V; - } - }], - MaskedManualCodegen = [{ - { - // Move mask to right before vl. - std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1); - if (DefaultPolicy == TAIL_AGNOSTIC_MASK_AGNOSTIC) - Ops.insert(Ops.begin(), llvm::PoisonValue::get(ResultType)); - Ops.push_back(ConstantInt::get(Ops.back()->getType(), DefaultPolicy)); - IntrinsicTypes = {ResultType, Ops[4]->getType()}; + if(IsMasked) { + // Move mask to right before vl. ---------------- space after `if` ================ Comment at: clang/include/clang/Basic/riscv_vector.td:649 + clang::CharUnits Align; + if(IsMasked) { + Align = CGM.getNaturalPointeeTypeAlignment( ---------------- space after `if` ================ Comment at: clang/include/clang/Basic/riscv_vector.td:714 ManualCodegen = [{ - // Builtin: (ptr, value, vl). Intrinsic: (value, ptr, vl) - std::swap(Ops[0], Ops[1]); - Ops[1] = Builder.CreateBitCast(Ops[1], Ops[0]->getType()->getPointerTo()); - IntrinsicTypes = {Ops[0]->getType(), Ops[2]->getType()}; - }], - MaskedManualCodegen= [{ - // Builtin: (mask, ptr, value, vl). Intrinsic: (value, ptr, mask, vl) - std::swap(Ops[0], Ops[2]); + if(IsMasked) { + // Builtin: (mask, ptr, value, vl). Intrinsic: (value, ptr, mask, vl) ---------------- space after `if` ================ Comment at: clang/include/clang/Basic/riscv_vector.td:722 Ops[1] = Builder.CreateBitCast(Ops[1], Ops[0]->getType()->getPointerTo()); - IntrinsicTypes = {Ops[0]->getType(), Ops[3]->getType()}; + if(IsMasked) { + IntrinsicTypes = {Ops[0]->getType(), Ops[3]->getType()}; ---------------- space after `if` Drop the curly brace since the bodies are single lines ================ Comment at: clang/include/clang/Basic/riscv_vector.td:754 ManualCodegen = [{ - // Builtin: (ptr, stride, value, vl). Intrinsic: (value, ptr, stride, vl) - std::rotate(Ops.begin(), Ops.begin() + 2, Ops.begin() + 3); - Ops[1] = Builder.CreateBitCast(Ops[1], Ops[0]->getType()->getPointerTo()); - IntrinsicTypes = {Ops[0]->getType(), Ops[3]->getType()}; - }], - MaskedManualCodegen= [{ - // Builtin: (mask, ptr, stride, value, vl). Intrinsic: (value, ptr, stride, mask, vl) - std::swap(Ops[0], Ops[3]); + if(IsMasked) { + // Builtin: (mask, ptr, stride, value, vl). Intrinsic: (value, ptr, stride, mask, vl) ---------------- space after `if` ================ Comment at: clang/include/clang/Basic/riscv_vector.td:762 Ops[1] = Builder.CreateBitCast(Ops[1], Ops[0]->getType()->getPointerTo()); - IntrinsicTypes = {Ops[0]->getType(), Ops[4]->getType()}; + if(IsMasked) { + IntrinsicTypes = {Ops[0]->getType(), Ops[4]->getType()}; ---------------- Space after `if` Drop the curly braces since the bodies are single lines ================ Comment at: clang/include/clang/Basic/riscv_vector.td:1229 { - // Builtin: (ptr, stride, val0, val1, ..., vl). - // Intrinsic: (val0, val1, ..., ptr, stride, vl) - std::rotate(Ops.begin(), Ops.begin() + 2, Ops.end() - 1); - IntrinsicTypes = {Ops[0]->getType(), Ops[NF + 1]->getType()}; - assert(Ops.size() == NF + 3); - } - }], - MaskedManualCodegen = [{ - { - // Builtin: (mask, ptr, stride, val0, val1, ..., vl). - // Intrinsic: (val0, val1, ..., ptr, stride, mask, vl) - std::rotate(Ops.begin(), Ops.begin() + 3, Ops.end() - 1); - std::rotate(Ops.begin() + NF, Ops.begin() + NF + 1, Ops.begin() + NF + 3); + if(IsMasked) { + // Builtin: (mask, ptr, stride, val0, val1, ..., vl). ---------------- Space after `if` ================ Comment at: clang/include/clang/Basic/riscv_vector.td:1278 + } else { + // Builtin: (ptr, index, val0, val1, ..., vl) + // Intrinsic: (val0, val1, ..., ptr, index, vl) ---------------- Indentation looks wrong. The body is only indented once space from the else. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D140361/new/ https://reviews.llvm.org/D140361 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits