mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-10 02:36:06 +00:00
Add const to CanBeFoldedBy, CheckAndMask, and CheckOrMask.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40480 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a6a1ab3d28
commit
dc9b3d0bb5
@ -74,7 +74,9 @@ public:
|
||||
|
||||
/// CanBeFoldedBy - Returns true if the specific operand node N of U can be
|
||||
/// folded during instruction selection that starts at Root?
|
||||
virtual bool CanBeFoldedBy(SDNode *N, SDNode *U, SDNode *Root) { return true;}
|
||||
virtual bool CanBeFoldedBy(SDNode *N, SDNode *U, SDNode *Root) const {
|
||||
return true;
|
||||
}
|
||||
|
||||
/// CreateTargetHazardRecognizer - Return a newly allocated hazard recognizer
|
||||
/// to use for this target when scheduling the DAG.
|
||||
@ -164,8 +166,10 @@ protected:
|
||||
SelectionDAG &DAG);
|
||||
|
||||
// Calls to these predicates are generated by tblgen.
|
||||
bool CheckAndMask(SDOperand LHS, ConstantSDNode *RHS, int64_t DesiredMaskS);
|
||||
bool CheckOrMask(SDOperand LHS, ConstantSDNode *RHS, int64_t DesiredMaskS);
|
||||
bool CheckAndMask(SDOperand LHS, ConstantSDNode *RHS,
|
||||
int64_t DesiredMaskS) const;
|
||||
bool CheckOrMask(SDOperand LHS, ConstantSDNode *RHS,
|
||||
int64_t DesiredMaskS) const;
|
||||
|
||||
private:
|
||||
void SelectBasicBlock(BasicBlock *BB, MachineFunction &MF,
|
||||
|
@ -4799,7 +4799,7 @@ HazardRecognizer *SelectionDAGISel::CreateTargetHazardRecognizer() {
|
||||
/// actual value in the DAG on the RHS of an AND, and DesiredMaskS is the value
|
||||
/// specified in the .td file (e.g. 255).
|
||||
bool SelectionDAGISel::CheckAndMask(SDOperand LHS, ConstantSDNode *RHS,
|
||||
int64_t DesiredMaskS) {
|
||||
int64_t DesiredMaskS) const {
|
||||
uint64_t ActualMask = RHS->getValue();
|
||||
uint64_t DesiredMask =DesiredMaskS & MVT::getIntVTBitMask(LHS.getValueType());
|
||||
|
||||
@ -4828,7 +4828,7 @@ bool SelectionDAGISel::CheckAndMask(SDOperand LHS, ConstantSDNode *RHS,
|
||||
/// actual value in the DAG on the RHS of an OR, and DesiredMaskS is the value
|
||||
/// specified in the .td file (e.g. 255).
|
||||
bool SelectionDAGISel::CheckOrMask(SDOperand LHS, ConstantSDNode *RHS,
|
||||
int64_t DesiredMaskS) {
|
||||
int64_t DesiredMaskS) const {
|
||||
uint64_t ActualMask = RHS->getValue();
|
||||
uint64_t DesiredMask =DesiredMaskS & MVT::getIntVTBitMask(LHS.getValueType());
|
||||
|
||||
|
@ -132,7 +132,7 @@ namespace {
|
||||
|
||||
virtual void EmitFunctionEntryCode(Function &Fn, MachineFunction &MF);
|
||||
|
||||
virtual bool CanBeFoldedBy(SDNode *N, SDNode *U, SDNode *Root);
|
||||
virtual bool CanBeFoldedBy(SDNode *N, SDNode *U, SDNode *Root) const;
|
||||
|
||||
// Include the pieces autogenerated from the target description.
|
||||
#include "X86GenDAGISel.inc"
|
||||
@ -272,7 +272,7 @@ static inline bool isNonImmUse(SDNode *Root, SDNode *Def, SDNode *ImmedUse,
|
||||
}
|
||||
|
||||
|
||||
bool X86DAGToDAGISel::CanBeFoldedBy(SDNode *N, SDNode *U, SDNode *Root) {
|
||||
bool X86DAGToDAGISel::CanBeFoldedBy(SDNode *N, SDNode *U, SDNode *Root) const {
|
||||
if (FastISel) return false;
|
||||
|
||||
// If U use can somehow reach N through another path then U can't fold N or
|
||||
|
Loading…
x
Reference in New Issue
Block a user