mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-05 12:31:33 +00:00
46abfcf418
Now even the small structures could be passed within byval (small enough to be stored in GPRs). In regression tests next function prototypes are checked: PR15293: %artz = type { i32 } define void @foo(%artz* byval %s) define void @foo2(%artz* byval %s, i32 %p, %artz* byval %s2) foo: "s" stored in R0 foo2: "s" stored in R0, "s2" stored in R2. Next AAPCS rules are checked: 5.5 Parameters Passing, C.4 and C.5, "ParamSize" is parameter size in 32bit words: -- NSAA != 0, NCRN < R4 and NCRN+ParamSize > R4. Parameter should be sent to the stack; NCRN := R4. -- NSAA != 0, and NCRN < R4, NCRN+ParamSize < R4. Parameter stored in GPRs; NCRN += ParamSize. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181148 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
PBQP | ||
Analysis.h | ||
AsmPrinter.h | ||
CalcSpillWeights.h | ||
CallingConvLower.h | ||
CommandFlags.h | ||
DAGCombine.h | ||
DFAPacketizer.h | ||
EdgeBundles.h | ||
FastISel.h | ||
FunctionLoweringInfo.h | ||
GCMetadata.h | ||
GCMetadataPrinter.h | ||
GCs.h | ||
GCStrategy.h | ||
IntrinsicLowering.h | ||
ISDOpcodes.h | ||
JITCodeEmitter.h | ||
LatencyPriorityQueue.h | ||
LexicalScopes.h | ||
LinkAllAsmWriterComponents.h | ||
LinkAllCodegenComponents.h | ||
LiveInterval.h | ||
LiveIntervalAnalysis.h | ||
LiveIntervalUnion.h | ||
LiveRangeEdit.h | ||
LiveRegMatrix.h | ||
LiveStackAnalysis.h | ||
LiveVariables.h | ||
MachineBasicBlock.h | ||
MachineBlockFrequencyInfo.h | ||
MachineBranchProbabilityInfo.h | ||
MachineCodeEmitter.h | ||
MachineCodeInfo.h | ||
MachineConstantPool.h | ||
MachineDominators.h | ||
MachineFrameInfo.h | ||
MachineFunction.h | ||
MachineFunctionAnalysis.h | ||
MachineFunctionPass.h | ||
MachineInstr.h | ||
MachineInstrBuilder.h | ||
MachineInstrBundle.h | ||
MachineJumpTableInfo.h | ||
MachineLoopInfo.h | ||
MachineMemOperand.h | ||
MachineModuleInfo.h | ||
MachineModuleInfoImpls.h | ||
MachineOperand.h | ||
MachinePassRegistry.h | ||
MachinePostDominators.h | ||
MachineRegisterInfo.h | ||
MachineRelocation.h | ||
MachineScheduler.h | ||
MachineSSAUpdater.h | ||
MachineTraceMetrics.h | ||
MachORelocation.h | ||
Passes.h | ||
PseudoSourceValue.h | ||
RegAllocPBQP.h | ||
RegAllocRegistry.h | ||
RegisterClassInfo.h | ||
RegisterPressure.h | ||
RegisterScavenging.h | ||
ResourcePriorityQueue.h | ||
RuntimeLibcalls.h | ||
ScheduleDAG.h | ||
ScheduleDAGInstrs.h | ||
ScheduleDFS.h | ||
ScheduleHazardRecognizer.h | ||
SchedulerRegistry.h | ||
ScoreboardHazardRecognizer.h | ||
SelectionDAG.h | ||
SelectionDAGISel.h | ||
SelectionDAGNodes.h | ||
SlotIndexes.h | ||
TargetLoweringObjectFileImpl.h | ||
TargetSchedule.h | ||
ValueTypes.h | ||
ValueTypes.td | ||
VirtRegMap.h |