| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
expand offsets that do not fit in the 16-bit immediate field of load and store
instructions. Also change the types of variables so that they are sufficiently
large to handle 64-bit pointers.
llvm-svn: 148916
|
|
|
|
| |
llvm-svn: 148578
|
|
|
|
| |
llvm-svn: 147383
|
|
|
|
| |
llvm-svn: 145910
|
|
|
|
|
|
| |
registers and instructions when ABI is N64.
llvm-svn: 144666
|
|
|
|
| |
llvm-svn: 143991
|
|
|
|
|
|
| |
Return numbers of 64-bit registers.
llvm-svn: 140609
|
|
|
|
|
|
|
|
| |
sets of
callee-saved registers and reserved registers.
llvm-svn: 140395
|
|
|
|
| |
llvm-svn: 140315
|
|
|
|
| |
llvm-svn: 139420
|
|
|
|
| |
llvm-svn: 139412
|
|
|
|
|
|
| |
better location welcome).
llvm-svn: 135438
|
|
|
|
|
|
|
|
|
| |
to MCRegisterInfo. Also initialize the mapping at construction time.
This patch eliminate TargetRegisterInfo from TargetAsmInfo. It's another step
towards fixing the layering violation.
llvm-svn: 135424
|
|
|
|
|
|
| |
registeration and creation code into XXXMCDesc libraries.
llvm-svn: 135184
|
|
|
|
| |
llvm-svn: 134628
|
|
|
|
|
|
|
| |
before the offset. This change will enable simplification of function
MipsRegisterInfo::eliminateFrameIndex.
llvm-svn: 134625
|
|
|
|
| |
llvm-svn: 134224
|
|
|
|
| |
llvm-svn: 134030
|
|
|
|
| |
llvm-svn: 134027
|
|
|
|
|
|
| |
into XXXGenRegisterInfo.inc.
llvm-svn: 133922
|
|
|
|
|
|
|
|
|
|
|
|
| |
target machine from those that are only needed by codegen. The goal is to
sink the essential target description into MC layer so we can start building
MC based tools without needing to link in the entire codegen.
First step is to refactor TargetRegisterInfo. This patch added a base class
MCRegisterInfo which TargetRegisterInfo is derived from. Changed TableGen to
separate register description from the rest of the stuff.
llvm-svn: 133782
|
|
|
|
| |
llvm-svn: 133494
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The register allocators automatically filter out reserved registers and
place the callee saved registers last in the allocation order, so custom
methods are no longer necessary just for that.
Some targets still use custom allocation orders:
ARM/Thumb: The high registers are removed from GPR in thumb mode. The
NEON allocation orders prefer to use non-VFP2 registers first.
X86: The GR8 classes omit AH-DH in x86-64 mode to avoid REX trouble.
SystemZ: Some of the allocation orders are omitting R12 aliases without
explanation. I don't understand this target well enough to fix that. It
looks like all the boilerplate could be removed by reserving the right
registers.
llvm-svn: 132781
|
|
|
|
| |
llvm-svn: 132777
|
|
|
|
|
|
| |
dynamically allocated stack area was not set.
llvm-svn: 132758
|
|
|
|
|
|
|
|
| |
directives.
Fixes PR9826.
llvm-svn: 132317
|
|
|
|
|
|
|
|
|
| |
in MipsRegisterInfo::getCalleeSavedRegs so that both registers paired for a
double precision register get saved.
llvm-svn: 132243
|
|
|
|
| |
llvm-svn: 132131
|
|
|
|
|
|
| |
offsets that are larger than 0x10000.
llvm-svn: 132003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following improvements are accomplished as a result of applying this patch:
- Fixed frame objects' offsets (relative to either the virtual frame pointer or
the stack pointer) are set before instruction selection is completed. There is
no need to wait until Prologue/Epilogue Insertion is run to set them.
- Calculation of final offsets of fixed frame objects is straightforward. It is
no longer necessary to assign negative offsets to fixed objects for incoming
arguments in order to distinguish them from the others.
- Since a fixed object has its relative offset set during instruction
selection, there is no need to conservatively set its alignment to 4.
- It is no longer necessary to reorder non-fixed frame objects in
MipsFrameLowering::adjustMipsStackFrame.
llvm-svn: 131915
|
|
|
|
| |
llvm-svn: 131785
|
|
|
|
|
|
| |
saving and restoring them.
llvm-svn: 131745
|
|
|
|
| |
llvm-svn: 131660
|
|
|
|
|
|
|
| |
2. Remove unused function.
3. Correct indentation.
llvm-svn: 131028
|
|
|
|
| |
llvm-svn: 130774
|
|
|
|
|
|
| |
in functionality.
llvm-svn: 129612
|
|
|
|
|
|
| |
change in functionality.
llvm-svn: 129606
|
|
|
|
|
|
| |
16-bit field. Patch by Akira Hatanaka
llvm-svn: 127032
|
|
|
|
|
|
| |
Hatanaka, Akira
llvm-svn: 127003
|
|
|
|
|
|
| |
and fixes here and there.
llvm-svn: 123170
|
|
|
|
| |
llvm-svn: 119740
|
|
|
|
|
|
| |
out of TargetRegisterInfo to TargetFrameInfo, which is definitely much better suitable place
llvm-svn: 119097
|
|
|
|
|
|
| |
to try to re-use scavenged frame index reference registers. rdar://8277890
llvm-svn: 112241
|
|
|
|
| |
llvm-svn: 105344
|
|
|
|
| |
llvm-svn: 105322
|
|
|
|
|
|
|
|
|
| |
the variable actually tracks.
N.B., several back-ends are using "HasCalls" as being synonymous for something
that adjusts the stack. This isn't 100% correct and should be looked into.
llvm-svn: 103802
|
|
|
|
|
|
|
| |
optimization for non-leaf functions. This will be hooked up to gcc's
-momit-leaf-frame-pointer option. rdar://7886181
llvm-svn: 101984
|
|
|
|
| |
llvm-svn: 100214
|
|
|
|
|
|
|
|
|
|
| |
is preparatory to having PEI's scavenged frame index value reuse logic
properly distinguish types of frame values (e.g., whether the value is
stack-pointer relative or frame-pointer relative).
No functionality change.
llvm-svn: 98086
|
|
|
|
| |
llvm-svn: 94969
|