Skip to content

Commit 1201955

Browse files
committed
ARM64: remove dead validation code from the AsmParser.
If this code triggers, any immediate has already been validated so it can't possibly trigger a diagnostic. llvm-svn: 208564
1 parent 2625a99 commit 1201955

File tree

1 file changed

+0
-198
lines changed

1 file changed

+0
-198
lines changed

llvm/lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp

Lines changed: 0 additions & 198 deletions
Original file line numberDiff line numberDiff line change
@@ -3604,204 +3604,6 @@ bool ARM64AsmParser::validateInstruction(MCInst &Inst,
36043604
}
36053605
return false;
36063606
}
3607-
case ARM64::LDRBpre:
3608-
case ARM64::LDRHpre:
3609-
case ARM64::LDRSBWpre:
3610-
case ARM64::LDRSBXpre:
3611-
case ARM64::LDRSHWpre:
3612-
case ARM64::LDRSHXpre:
3613-
case ARM64::LDRWpre:
3614-
case ARM64::LDRXpre:
3615-
case ARM64::LDRSpre:
3616-
case ARM64::LDRDpre:
3617-
case ARM64::LDRQpre:
3618-
case ARM64::STRBpre:
3619-
case ARM64::STRHpre:
3620-
case ARM64::STRWpre:
3621-
case ARM64::STRXpre:
3622-
case ARM64::STRSpre:
3623-
case ARM64::STRDpre:
3624-
case ARM64::STRQpre:
3625-
case ARM64::LDRBpost:
3626-
case ARM64::LDRHpost:
3627-
case ARM64::LDRSBWpost:
3628-
case ARM64::LDRSBXpost:
3629-
case ARM64::LDRSHWpost:
3630-
case ARM64::LDRSHXpost:
3631-
case ARM64::LDRWpost:
3632-
case ARM64::LDRXpost:
3633-
case ARM64::LDRSpost:
3634-
case ARM64::LDRDpost:
3635-
case ARM64::LDRQpost:
3636-
case ARM64::STRBpost:
3637-
case ARM64::STRHpost:
3638-
case ARM64::STRWpost:
3639-
case ARM64::STRXpost:
3640-
case ARM64::STRSpost:
3641-
case ARM64::STRDpost:
3642-
case ARM64::STRQpost:
3643-
case ARM64::LDTRXi:
3644-
case ARM64::LDTRWi:
3645-
case ARM64::LDTRHi:
3646-
case ARM64::LDTRBi:
3647-
case ARM64::LDTRSHWi:
3648-
case ARM64::LDTRSHXi:
3649-
case ARM64::LDTRSBWi:
3650-
case ARM64::LDTRSBXi:
3651-
case ARM64::LDTRSWi:
3652-
case ARM64::STTRWi:
3653-
case ARM64::STTRXi:
3654-
case ARM64::STTRHi:
3655-
case ARM64::STTRBi:
3656-
case ARM64::LDURWi:
3657-
case ARM64::LDURXi:
3658-
case ARM64::LDURSi:
3659-
case ARM64::LDURDi:
3660-
case ARM64::LDURQi:
3661-
case ARM64::LDURHi:
3662-
case ARM64::LDURBi:
3663-
case ARM64::LDURSHWi:
3664-
case ARM64::LDURSHXi:
3665-
case ARM64::LDURSBWi:
3666-
case ARM64::LDURSBXi:
3667-
case ARM64::LDURSWi:
3668-
case ARM64::PRFUMi:
3669-
case ARM64::STURWi:
3670-
case ARM64::STURXi:
3671-
case ARM64::STURSi:
3672-
case ARM64::STURDi:
3673-
case ARM64::STURQi:
3674-
case ARM64::STURHi:
3675-
case ARM64::STURBi: {
3676-
// FIXME: Should accept expressions and error in fixup evaluation
3677-
// if out of range.
3678-
if (!Inst.getOperand(2).isImm())
3679-
return Error(Loc[1], "immediate value expected");
3680-
int64_t offset = Inst.getOperand(2).getImm();
3681-
if (offset > 255 || offset < -256)
3682-
return Error(Loc[1], "offset value out of range");
3683-
return false;
3684-
}
3685-
case ARM64::LDRSro:
3686-
case ARM64::LDRWro:
3687-
case ARM64::LDRSWro:
3688-
case ARM64::STRWro:
3689-
case ARM64::STRSro: {
3690-
// FIXME: Should accept expressions and error in fixup evaluation
3691-
// if out of range.
3692-
if (!Inst.getOperand(3).isImm())
3693-
return Error(Loc[1], "immediate value expected");
3694-
int64_t shift = Inst.getOperand(3).getImm();
3695-
ARM64_AM::ShiftExtendType type = ARM64_AM::getMemExtendType(shift);
3696-
if (type != ARM64_AM::UXTW && type != ARM64_AM::UXTX &&
3697-
type != ARM64_AM::SXTW && type != ARM64_AM::SXTX)
3698-
return Error(Loc[1], "shift type invalid");
3699-
return false;
3700-
}
3701-
case ARM64::LDRDro:
3702-
case ARM64::LDRQro:
3703-
case ARM64::LDRXro:
3704-
case ARM64::PRFMro:
3705-
case ARM64::STRXro:
3706-
case ARM64::STRDro:
3707-
case ARM64::STRQro: {
3708-
// FIXME: Should accept expressions and error in fixup evaluation
3709-
// if out of range.
3710-
if (!Inst.getOperand(3).isImm())
3711-
return Error(Loc[1], "immediate value expected");
3712-
int64_t shift = Inst.getOperand(3).getImm();
3713-
ARM64_AM::ShiftExtendType type = ARM64_AM::getMemExtendType(shift);
3714-
if (type != ARM64_AM::UXTW && type != ARM64_AM::UXTX &&
3715-
type != ARM64_AM::SXTW && type != ARM64_AM::SXTX)
3716-
return Error(Loc[1], "shift type invalid");
3717-
return false;
3718-
}
3719-
case ARM64::LDRHro:
3720-
case ARM64::LDRHHro:
3721-
case ARM64::LDRSHWro:
3722-
case ARM64::LDRSHXro:
3723-
case ARM64::STRHro:
3724-
case ARM64::STRHHro: {
3725-
// FIXME: Should accept expressions and error in fixup evaluation
3726-
// if out of range.
3727-
if (!Inst.getOperand(3).isImm())
3728-
return Error(Loc[1], "immediate value expected");
3729-
int64_t shift = Inst.getOperand(3).getImm();
3730-
ARM64_AM::ShiftExtendType type = ARM64_AM::getMemExtendType(shift);
3731-
if (type != ARM64_AM::UXTW && type != ARM64_AM::UXTX &&
3732-
type != ARM64_AM::SXTW && type != ARM64_AM::SXTX)
3733-
return Error(Loc[1], "shift type invalid");
3734-
return false;
3735-
}
3736-
case ARM64::LDRBro:
3737-
case ARM64::LDRBBro:
3738-
case ARM64::LDRSBWro:
3739-
case ARM64::LDRSBXro:
3740-
case ARM64::STRBro:
3741-
case ARM64::STRBBro: {
3742-
// FIXME: Should accept expressions and error in fixup evaluation
3743-
// if out of range.
3744-
if (!Inst.getOperand(3).isImm())
3745-
return Error(Loc[1], "immediate value expected");
3746-
int64_t shift = Inst.getOperand(3).getImm();
3747-
ARM64_AM::ShiftExtendType type = ARM64_AM::getMemExtendType(shift);
3748-
if (type != ARM64_AM::UXTW && type != ARM64_AM::UXTX &&
3749-
type != ARM64_AM::SXTW && type != ARM64_AM::SXTX)
3750-
return Error(Loc[1], "shift type invalid");
3751-
return false;
3752-
}
3753-
case ARM64::LDPWi:
3754-
case ARM64::LDPXi:
3755-
case ARM64::LDPSi:
3756-
case ARM64::LDPDi:
3757-
case ARM64::LDPQi:
3758-
case ARM64::LDPSWi:
3759-
case ARM64::STPWi:
3760-
case ARM64::STPXi:
3761-
case ARM64::STPSi:
3762-
case ARM64::STPDi:
3763-
case ARM64::STPQi:
3764-
case ARM64::LDPWpre:
3765-
case ARM64::LDPXpre:
3766-
case ARM64::LDPSpre:
3767-
case ARM64::LDPDpre:
3768-
case ARM64::LDPQpre:
3769-
case ARM64::LDPSWpre:
3770-
case ARM64::STPWpre:
3771-
case ARM64::STPXpre:
3772-
case ARM64::STPSpre:
3773-
case ARM64::STPDpre:
3774-
case ARM64::STPQpre:
3775-
case ARM64::LDPWpost:
3776-
case ARM64::LDPXpost:
3777-
case ARM64::LDPSpost:
3778-
case ARM64::LDPDpost:
3779-
case ARM64::LDPQpost:
3780-
case ARM64::LDPSWpost:
3781-
case ARM64::STPWpost:
3782-
case ARM64::STPXpost:
3783-
case ARM64::STPSpost:
3784-
case ARM64::STPDpost:
3785-
case ARM64::STPQpost:
3786-
case ARM64::LDNPWi:
3787-
case ARM64::LDNPXi:
3788-
case ARM64::LDNPSi:
3789-
case ARM64::LDNPDi:
3790-
case ARM64::LDNPQi:
3791-
case ARM64::STNPWi:
3792-
case ARM64::STNPXi:
3793-
case ARM64::STNPSi:
3794-
case ARM64::STNPDi:
3795-
case ARM64::STNPQi: {
3796-
// FIXME: Should accept expressions and error in fixup evaluation
3797-
// if out of range.
3798-
if (!Inst.getOperand(3).isImm())
3799-
return Error(Loc[2], "immediate value expected");
3800-
int64_t offset = Inst.getOperand(3).getImm();
3801-
if (offset > 63 || offset < -64)
3802-
return Error(Loc[2], "offset value out of range");
3803-
return false;
3804-
}
38053607
default:
38063608
return false;
38073609
}

0 commit comments

Comments
 (0)