| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
registers.
llvm-svn: 141019
|
|
|
|
|
|
|
|
| |
them to define"
It broke the unit tests. Please reapply with tests fixed.
llvm-svn: 140735
|
|
|
|
|
|
| |
multiclasses.
llvm-svn: 140731
|
|
|
|
|
|
| |
These are strictly utilities for registering targets and components.
llvm-svn: 138450
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mips1 does not support double precision loads or stores, therefore two single
precision loads or stores must be used in place of these instructions. This
patch treats double precision loads and stores as if they are legal
instructions until MCInstLowering, instead of generating the single precision
instructions during instruction selection or Prolog/Epilog code insertion.
Without the changes made in this patch, llc produces code that has the same
problem described in r137484 or bails out when
MipsInstrInfo::storeRegToStackSlot or loadRegFromStackSlot is called before
register allocation.
llvm-svn: 137711
|
|
|
|
|
|
| |
registeration and creation code into XXXMCDesc libraries.
llvm-svn: 135184
|
|
|
|
|
|
|
|
|
|
|
|
| |
and MCSubtargetInfo.
- Added methods to update subtarget features (used when targets automatically
detect subtarget features or switch modes).
- Teach X86Subtarget to update MCSubtargetInfo features bits since the
MCSubtargetInfo layer can be shared with other modules.
- These fixes .code 16 / .code 32 support since mode switch is updated in
MCSubtargetInfo so MC code emitter can do the right thing.
llvm-svn: 134884
|
|
|
|
| |
llvm-svn: 134661
|
|
|
|
|
|
|
| |
before the offset. This change will enable simplification of function
MipsRegisterInfo::eliminateFrameIndex.
llvm-svn: 134625
|
|
|
|
| |
llvm-svn: 134244
|
|
|
|
| |
llvm-svn: 134224
|
|
|
|
| |
llvm-svn: 134030
|
|
|
|
| |
llvm-svn: 134024
|
|
|
|
|
|
|
|
| |
sink them into MC layer.
- Added MCInstrInfo, which captures the tablegen generated static data. Chang
TargetInstrInfo so it's based off MCInstrInfo.
llvm-svn: 134021
|
|
|
|
|
|
| |
in functionality.
llvm-svn: 129612
|
|
|
|
|
|
| |
change in functionality.
llvm-svn: 129606
|
|
|
|
| |
llvm-svn: 128718
|
|
|
|
|
|
| |
handling of FP comparisons.
llvm-svn: 128650
|
|
|
|
|
|
| |
Hatanaka, Akira
llvm-svn: 127003
|
|
|
|
| |
llvm-svn: 108567
|
|
|
|
|
|
|
|
| |
The only folding these load/store architectures can do is converting COPY into a
load or store, and the target independent part of foldMemoryOperand already
knows how to do that.
llvm-svn: 108099
|
|
|
|
| |
llvm-svn: 108066
|
|
|
|
| |
llvm-svn: 108063
|
|
|
|
|
|
|
|
|
|
|
|
| |
addresses a longstanding deficiency noted in many FIXMEs scattered
across all the targets.
This effectively moves the problem up one level, replacing eleven
FIXMEs in the targets with eight FIXMEs in CodeGen, plus one path
through FastISel where we actually supply a DebugLoc, fixing Radar
7421831.
llvm-svn: 106243
|
|
|
|
|
|
| |
doesn't have to guess.
llvm-svn: 103194
|
|
|
|
| |
llvm-svn: 103193
|
|
|
|
|
|
| |
user's source, so don't arbitrarily assign them a debug location.
llvm-svn: 103121
|
|
|
|
| |
llvm-svn: 100214
|
|
|
|
|
|
|
| |
folder to be tolerant of debug info following the
branch(es) at the end of a block.
llvm-svn: 100168
|
|
|
|
| |
llvm-svn: 93876
|
|
|
|
|
|
|
| |
MachineBasicBlock::canFallThrough(), which is target-independent and more
thorough.
llvm-svn: 90634
|
|
|
|
| |
llvm-svn: 89821
|
|
|
|
|
|
| |
because the testcase is triggering one more bug.
llvm-svn: 88674
|
|
|
|
| |
llvm-svn: 76960
|
|
|
|
|
|
|
|
|
| |
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").
llvm-svn: 75640
|
|
|
|
|
|
|
|
|
| |
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
llvm-svn: 75379
|
|
|
|
| |
llvm-svn: 74779
|
|
|
|
|
|
| |
the code to annotate machineoperands to LiveIntervalAnalysis. It also add markers for implicit_def that define physical registers. The rest, is just a lot of details.
llvm-svn: 74580
|
|
|
|
|
|
|
|
|
|
| |
carry GlobalBaseReg, and GlobalRetAddr too in Alpha's case. This
eliminates the need for them to search through the
MachineRegisterInfo livein list in order to identify these
virtual registers. EmitLiveInCopies is now the only user of the
virtual register portion of MachineRegisterInfo's livein data.
llvm-svn: 72802
|
|
|
|
| |
llvm-svn: 72483
|
|
|
|
|
|
|
|
|
|
|
|
| |
booleans. This gives a better indication of what the "addReg()" is
doing. Remembering what all of those booleans mean isn't easy, especially if you
aren't spending all of your time in that code.
I took Jakob's suggestion and made it illegal to pass in "true" for the
flag. This should hopefully prevent any unintended misuse of this (by reverting
to the old way of using addReg()).
llvm-svn: 71722
|
|
|
|
| |
llvm-svn: 67738
|
|
|
|
|
|
| |
Handle odd registers allocation in FGR32.
llvm-svn: 67422
|
|
|
|
| |
llvm-svn: 64891
|
|
|
|
| |
llvm-svn: 64438
|
|
|
|
|
|
| |
Modify callers.
llvm-svn: 64409
|
|
|
|
| |
llvm-svn: 64342
|
|
|
|
|
|
|
|
| |
suprise to some callers, e.g. register coalescer. For now, add an parameter
that tells AnalyzeBranch whether it's safe to modify the mbb. A better
solution is out there, but I don't have time to deal with it right now.
llvm-svn: 64124
|
|
|
|
|
|
| |
sub-register indices as well.
llvm-svn: 62600
|
|
|
|
|
|
|
| |
parts, and add target-independent code to add/preserve
MachineMemOperands.
llvm-svn: 60488
|