mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-18 11:24:01 +00:00
Early implementation of tail call for ARM.
A temporary flag -arm-tail-calls defaults to off, so there is no functional change by default. Intrepid users may try this; simple cases work but there are bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105413 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1575,6 +1575,13 @@ bool ARMDecoderEmitter::ARMDEBackend::populateInstruction(
|
||||
if (Name == "BXr9" || Name == "BMOVPCRX" || Name == "BMOVPCRXr9")
|
||||
return false;
|
||||
|
||||
// Tail calls are other patterns that generate existing instructions.
|
||||
if (Name == "TCRETURNdi" || Name == "TCRETURNdiND" ||
|
||||
Name == "TCRETURNri" || Name == "TCRETURNriND" ||
|
||||
Name == "TAILJMPd" || Name == "TAILJMPdND" ||
|
||||
Name == "TAILJMPr" || Name == "TAILJMPrND")
|
||||
return false;
|
||||
|
||||
// VLDMQ/VSTMQ can be hanlded with the more generic VLDMD/VSTMD.
|
||||
if (Name == "VLDMQ" || Name == "VLDMQ_UPD" ||
|
||||
Name == "VSTMQ" || Name == "VSTMQ_UPD")
|
||||
|
Reference in New Issue
Block a user