diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index c34f095e19cbf..fd40e02f5f8e5 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -12043,6 +12043,12 @@ void SelectionDAGISel::LowerArguments(const Function &F) { OutVal = DAG.getNode(ISD::AssertNoFPClass, dl, OutVal.getValueType(), OutVal, SDNoFPClass); } + + if (Arg.hasAttribute(Attribute::Alignment)) { + OutVal = + DAG.getAssertAlign(dl, OutVal, Arg.getParamAlign().valueOrOne()); + } + ArgValues.push_back(OutVal); }