llvm-6502/include/llvm/Target
Michael Kuperstein 1cea749780 Move SPAdj logic from PEI into the targets (NFC)
PEI tries to keep track of how much starting or ending a call sequence adjusts the stack pointer by, so that it can resolve frame-index references. Currently, it takes a very simplistic view of how SP adjustments are done - both FrameStartOpcode and FrameDestroyOpcode adjust it exactly by the amount written in its first argument.

This view is in fact incorrect for some targets (e.g. due to stack re-alignment, or because it may want to adjust the stack pointer in multiple steps). However, that doesn't cause breakage, because most targets (the only in-tree exception appears to be 32-bit ARM) rely on being able to simplify the call frame pseudo-instructions earlier, so this code is never hit. 

Moving the computation into TargetInstrInfo allows targets to override the way the adjustment is computed if they need to have a non-zero SPAdj.

Differential Revision: http://reviews.llvm.org/D6863

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225437 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-08 11:04:38 +00:00
..
CostTable.h
Target.td [Statepoints 2/4] Statepoint infrastructure for garbage collection: MI & x86-64 Backend 2014-12-01 22:52:56 +00:00
TargetCallingConv.h
TargetCallingConv.td [mips] Remove MipsCC::analyzeCallOperands in favour of CCState::AnalyzeCallOperands. NFC 2014-11-07 11:43:49 +00:00
TargetFrameLowering.h [Statepoints 2/4] Statepoint infrastructure for garbage collection: MI & x86-64 Backend 2014-12-01 22:52:56 +00:00
TargetInstrInfo.h Move SPAdj logic from PEI into the targets (NFC) 2015-01-08 11:04:38 +00:00
TargetIntrinsicInfo.h
TargetItinerary.td
TargetLibraryInfo.h Add fortified (__*_chk) library functions to TLI (NFC) 2014-11-12 21:23:34 +00:00
TargetLowering.h [SelectionDAG] Allow targets to specify legality of extloads' result 2015-01-08 00:51:32 +00:00
TargetLoweringObjectFile.h Revert r224935 "Refactor duplicated code. No intended functionality change." 2015-01-06 23:04:36 +00:00
TargetMachine.h This patch changes the ownership of TLOF from TargetLoweringBase to TargetMachine so that different subtargets could share the TLOF effectively 2014-11-13 09:26:31 +00:00
TargetOpcodes.h [Statepoints 2/4] Statepoint infrastructure for garbage collection: MI & x86-64 Backend 2014-12-01 22:52:56 +00:00
TargetOptions.h Add a new string member to the TargetOptions struct for the name 2014-12-18 02:20:58 +00:00
TargetRegisterInfo.h Add function that translates subregister lane masks to other subregs. 2014-12-10 01:12:00 +00:00
TargetSchedule.td
TargetSelectionDAG.td Masked Load / Store Intrinsics - the CodeGen part. 2014-12-04 09:40:44 +00:00
TargetSelectionDAGInfo.h
TargetSubtargetInfo.h Add a flag to enable/disable subregister liveness. 2014-12-10 01:12:30 +00:00