mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-24 13:18:17 +00:00
Implement bottom-up fast-isel. This has the advantage of not requiring
a separate DCE pass over MachineInstrs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107804 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -78,6 +78,13 @@ void FunctionLoweringInfo::set(const Function &fn, MachineFunction &mf) {
|
||||
MF = &mf;
|
||||
RegInfo = &MF->getRegInfo();
|
||||
|
||||
// Check whether the function can return without sret-demotion.
|
||||
SmallVector<ISD::OutputArg, 4> Outs;
|
||||
GetReturnInfo(Fn->getReturnType(),
|
||||
Fn->getAttributes().getRetAttributes(), Outs, TLI);
|
||||
CanLowerReturn = TLI.CanLowerReturn(Fn->getCallingConv(), Fn->isVarArg(),
|
||||
Outs, Fn->getContext());
|
||||
|
||||
// Create a vreg for each argument register that is not dead and is used
|
||||
// outside of the entry block for the function.
|
||||
for (Function::const_arg_iterator AI = Fn->arg_begin(), E = Fn->arg_end();
|
||||
|
||||
Reference in New Issue
Block a user