| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
use the register scavenger because the scavenger can only scavenge one register and frame-index elimination may have already grabbed it.
llvm-svn: 146318
|
| |
|
|
|
|
| |
other problems found with -verify-machineinstrs
llvm-svn: 146024
|
| |
|
|
| |
llvm-svn: 146023
|
| |
|
|
| |
llvm-svn: 145961
|
| |
|
|
| |
llvm-svn: 145960
|
| |
|
|
| |
llvm-svn: 145819
|
| |
|
|
| |
llvm-svn: 145818
|
| |
|
|
| |
llvm-svn: 145816
|
| |
|
|
|
|
|
|
|
|
|
|
| |
change, now you need a TargetOptions object to create a TargetMachine. Clang
patch to follow.
One small functionality change in PTX. PTX had commented out the machine
verifier parts in their copy of printAndVerify. That now calls the version in
LLVMTargetMachine. Users of PTX who need verification disabled should rely on
not passing the command-line flag to enable it.
llvm-svn: 145714
|
| |
|
|
|
|
| |
new register-allocation pattern
llvm-svn: 145065
|
| |
|
|
| |
llvm-svn: 135942
|
| |
|
|
|
|
| |
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: 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: 133260
|
| |
|
|
|
|
|
|
| |
directives.
Fixes PR9826.
llvm-svn: 132317
|
| |
|
|
| |
llvm-svn: 132315
|
| |
|
|
|
|
| |
and fixes here and there.
llvm-svn: 123170
|
| |
|
|
|
|
|
|
| |
It turns out that ppc backend has really weird interdependencies
over different hooks and all stuff is fragile wrt small changes.
This should fix PR8749
llvm-svn: 122155
|
| |
|
|
| |
llvm-svn: 120229
|
| |
|
|
| |
llvm-svn: 119754
|
| |
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
formerly rejected by the FE, so asserted in the BE; now the FE only
warns, so we treat it as a legitimate fatal error in PPC BE.
This means the test for the feature won't pass, so it's xfail'd.
llvm-svn: 109892
|
| |
|
|
|
|
| |
thus is a much more meaningful name.
llvm-svn: 108563
|
| |
|
|
|
|
| |
slots so it's always false.
llvm-svn: 107550
|
| |
|
|
| |
llvm-svn: 105344
|
| |
|
|
| |
llvm-svn: 105322
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
registers. Currently it is not so marked, which leads to
VCMPEQ instructions that feed into it getting deleted.
If it is so marked, local RA complains about this sequence:
vreg = MCRF CR0
MFCR <kill of whatever preg got assigned to vreg>
All current uses of this instruction are only interested in
one of the 8 CR registers, so redefine MFCR to be a normal
unary instruction with a CR input (which is emitted only as
a comment). That avoids all problems. 7739628.
llvm-svn: 104238
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 102657
|
| |
|
|
|
|
|
| |
optimization for non-leaf functions. This will be hooked up to gcc's
-momit-leaf-frame-pointer option. rdar://7886181
llvm-svn: 101984
|
| |
|
|
|
|
| |
can't be static.
llvm-svn: 101377
|
| |
|
|
| |
llvm-svn: 101376
|
| |
|
|
| |
llvm-svn: 100415
|
| |
|
|
| |
llvm-svn: 100214
|
| |
|
|
|
|
|
| |
makes calls a little bit more consistent and allows easy removal of the
specializations in the future. Convert all callers to the templated functions.
llvm-svn: 99838
|
| |
|
|
|
|
| |
to get unique assembler temporary labels.
llvm-svn: 98489
|
| |
|
|
|
|
| |
contain an MCSymbol instead of a label index.
llvm-svn: 98482
|
| |
|
|
|
|
| |
with an MCSymbol instead of an immediate.
llvm-svn: 98481
|
| |
|
|
|
|
|
|
|
|
| |
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: 96020
|
| |
|
|
|
|
|
|
|
| |
into TargetOpcodes.h. #include the new TargetOpcodes.h
into MachineInstr. Add new inline accessors (like isPHI())
to MachineInstr, and start using them throughout the
codebase.
llvm-svn: 95687
|
| |
|
|
|
|
| |
its current purpose.
llvm-svn: 95564
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This violates the ABI (that area is "reserved"), and
while it is safe if all code is generated with current
compilers, there is some very old code around that uses
that slot for something else, and breaks if it is stored
into. Adjust testcases looking for current behavior.
I've verified that the stack frame size is right in all
testcases, whether it changed or not. 7311323.
llvm-svn: 89811
|