mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
Revert r112623. It is causing self host build failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112631 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -254,29 +254,6 @@ unsigned FunctionLoweringInfo::CreateRegs(const Type *Ty) {
|
||||
return FirstReg;
|
||||
}
|
||||
|
||||
/// setByValArgumentFrameIndex - Record frame index for the byval
|
||||
/// argument. This overrides previous frame index entry for this argument,
|
||||
/// if any.
|
||||
void FunctionLoweringInfo::setByValArgumentFrameIndex(const Argument *A,
|
||||
int FI) {
|
||||
assert (A->hasByValAttr() && "Argument does not have byval attribute!");
|
||||
ByValArgFrameIndexMap[A] = FI;
|
||||
}
|
||||
|
||||
/// getByValArgumentFrameIndex - Get frame index for the byval argument.
|
||||
/// This routine must be used after the argument's frame index is set.
|
||||
/// If the argument does not have any entry in the map then assertion
|
||||
/// will be raised.
|
||||
int FunctionLoweringInfo::getByValArgumentFrameIndex(const Argument *A) {
|
||||
assert (A->hasByValAttr() && "Argument does not have byval attribute!");
|
||||
DenseMap<const Argument *, int>::iterator I =
|
||||
ByValArgFrameIndexMap.find(A);
|
||||
assert (I != ByValArgFrameIndexMap.end() &&
|
||||
"Argument does not have assigned frame index!");
|
||||
return I->second;
|
||||
|
||||
}
|
||||
|
||||
/// AddCatchInfo - Extract the personality and type infos from an eh.selector
|
||||
/// call, and add them to the specified machine basic block.
|
||||
void llvm::AddCatchInfo(const CallInst &I, MachineModuleInfo *MMI,
|
||||
|
@@ -3917,8 +3917,7 @@ bool
|
||||
SelectionDAGBuilder::EmitFuncArgumentDbgValue(const Value *V, MDNode *Variable,
|
||||
int64_t Offset,
|
||||
const SDValue &N) {
|
||||
const Argument *Arg = dyn_cast<Argument>(V);
|
||||
if (!Arg)
|
||||
if (!isa<Argument>(V))
|
||||
return false;
|
||||
|
||||
MachineFunction &MF = DAG.getMachineFunction();
|
||||
@@ -3932,14 +3931,6 @@ SelectionDAGBuilder::EmitFuncArgumentDbgValue(const Value *V, MDNode *Variable,
|
||||
return false;
|
||||
|
||||
unsigned Reg = 0;
|
||||
if (Arg->hasByValAttr()) {
|
||||
// Byval arguments' frame index is recorded during argument lowering.
|
||||
// Use this info directly.
|
||||
const TargetRegisterInfo *TRI = DAG.getTarget().getRegisterInfo();
|
||||
Reg = TRI->getFrameRegister(MF);
|
||||
Offset = FuncInfo.getByValArgumentFrameIndex(Arg);
|
||||
}
|
||||
|
||||
if (N.getNode() && N.getOpcode() == ISD::CopyFromReg) {
|
||||
Reg = cast<RegisterSDNode>(N.getOperand(1))->getReg();
|
||||
if (Reg && TargetRegisterInfo::isVirtualRegister(Reg)) {
|
||||
@@ -6140,12 +6131,6 @@ void SelectionDAGISel::LowerArguments(const BasicBlock *LLVMBB) {
|
||||
i += NumParts;
|
||||
}
|
||||
|
||||
// Note down frame index for byval arguments.
|
||||
if (I->hasByValAttr() && !ArgValues.empty())
|
||||
if (FrameIndexSDNode *FI =
|
||||
dyn_cast<FrameIndexSDNode>(ArgValues[0].getNode()))
|
||||
FuncInfo->setByValArgumentFrameIndex(I, FI->getIndex());
|
||||
|
||||
if (!I->use_empty()) {
|
||||
SDValue Res;
|
||||
if (!ArgValues.empty())
|
||||
|
Reference in New Issue
Block a user