llvm-6502/docs
Jakob Stoklund Olesen 7739cad69d Add a new kind of MachineOperand: MO_RegisterMask.
Register masks will be used as a compact representation of large clobber
lists.  Currently, an x86 call instruction has some 40 operands
representing call-clobbered registers.  That's more than 1kB of useless
operands per call site.

A register mask operand references a bit mask of call-preserved
registers, everything else is clobbered.  The bit mask will typically
come from TargetRegisterInfo::getCallPreservedMask().

By abandoning ImplicitDefs for call-clobbered registers, it also becomes
possible to share call instruction descriptions between calling
conventions, and we can get rid of the WINCALL* instructions.

This patch introduces the new operand kind.  Future patches will add
RegMask support to target-independent passes before finally the fixed
clobber lists can be removed from call instruction descriptions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148250 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-16 19:22:00 +00:00
..
CommandGuide Fix dead link 2012-01-07 04:11:27 +00:00
HistoricalNotes
img
tutorial
AliasAnalysis.html
Atomics.html
BitCodeFormat.html
BranchWeightMetadata.html
Bugpoint.html
CFEBuildInstrs.html
CMake.html
CodeGenerator.html Add a new kind of MachineOperand: MO_RegisterMask. 2012-01-16 19:22:00 +00:00
CodingStandards.html
CommandLine.html
CompilerWriterInfo.html
DebuggingJITedCode.html
DeveloperPolicy.html
doxygen.cfg.in
doxygen.css
doxygen.footer Happy new year 2012! 2012-01-01 08:16:56 +00:00
doxygen.header
doxygen.intro
ExceptionHandling.html
ExtendedIntegerResults.txt
ExtendingLLVM.html
FAQ.html
GarbageCollection.html
GCCFEBuildInstrs.html
GetElementPtr.html
GettingStarted.html
GettingStartedVS.html
GoldPlugin.html
HowToAddABuilder.html
HowToReleaseLLVM.html
HowToSubmitABug.html
index.html
LangRef.html Try to clarify a little how exception handling works. 2012-01-13 19:59:16 +00:00
Lexicon.html test commit (verifyiing commit access) 2012-01-05 08:18:41 +00:00
LinkTimeOptimization.html
llvm.css
LLVMBuild.html
LLVMBuild.txt
Makefile
MakefileGuide.html
Packaging.html
Passes.html
ProgrammersManual.html
Projects.html
re_format.7
ReleaseNotes.html Add a new kind of MachineOperand: MO_RegisterMask. 2012-01-16 19:22:00 +00:00
SegmentedStacks.html
SourceLevelDebugging.html Fix typo. 2012-01-03 18:38:37 +00:00
SystemLibrary.html
TableGenFundamentals.html
TestingGuide.html
WritingAnLLVMBackend.html
WritingAnLLVMPass.html