[llvm-commits] [llvm] r132217 - in /llvm/trunk: include/llvm/Target/TargetLowering.h lib/CodeGen/SelectionDAG/LegalizeDAG.cpp lib/CodeGen/SelectionDAG/LegalizeTypes.h lib/CodeGen/SelectionDAG/TargetLowering.cpp lib/Transforms/Scalar/CodeGenPrepare.cpp
Duncan Sands
baldrick at free.fr
Sat May 28 01:42:15 PDT 2011
Hi Nadav, good to see you found the bug. Maybe you should add a testcase for
it?
> @@ -1814,6 +1732,80 @@
>
> ValueTypeActionImpl ValueTypeActions;
>
> + typedef std::pair<LegalizeAction, EVT> LegalizeKind;
> +
> + LegalizeKind
> + getTypeConversion(LLVMContext&Context, EVT VT) const {
> + // If this is a simple type, use the ComputeRegisterProp mechanism.
> + if (VT.isSimple()) {
> + assert((unsigned)VT.getSimpleVT().SimpleTy<
> + array_lengthof(TransformToType));
> + EVT NVT = TransformToType[VT.getSimpleVT().SimpleTy];
> + LegalizeAction LA = ValueTypeActions.getTypeAction(VT.getSimpleVT());
> + if (NVT.isSimple()&& LA != Legal)
This condition /\ should be folded into the assertion \/
> + assert(ValueTypeActions.getTypeAction(NVT.getSimpleVT()) != Promote&&
> + "Promote may not follow Expand or Promote");
Ciao, Duncan.
More information about the llvm-commits
mailing list