| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 134281
|
|
|
|
| |
llvm-svn: 134259
|
|
|
|
|
|
|
|
|
| |
itineraries.
- Refactor TargetSubtarget to be based on MCSubtargetInfo.
- Change tablegen generated subtarget info to initialize MCSubtargetInfo
and hide more details from targets.
llvm-svn: 134257
|
|
|
|
| |
llvm-svn: 134244
|
|
|
|
|
|
|
|
|
|
| |
be the first encoded as the first feature. It then uses the CPU name to look up
features / scheduling itineray even though clients know full well the CPU name
being used to query these properties.
The fix is to just have the clients explictly pass the CPU name!
llvm-svn: 134127
|
|
|
|
|
|
| |
Part of rdar://9643582
llvm-svn: 134083
|
|
|
|
| |
llvm-svn: 134030
|
|
|
|
| |
llvm-svn: 134027
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
This simplifies many of the target description files since it is common
for register classes to be related or contain sequences of numbered
registers.
I have verified that this doesn't change the files generated by TableGen
for ARM and X86. It alters the allocation order of MBlaze GPR and Mips
FGR32 registers, but I believe the change is benign.
llvm-svn: 133105
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
No functional change.
Part of PR6965
llvm-svn: 132763
|
|
|
|
|
|
|
|
| |
directives.
Fixes PR9826.
llvm-svn: 132317
|
|
|
|
| |
llvm-svn: 132278
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 131012
|
|
|
|
| |
llvm-svn: 130755
|
|
|
|
|
|
| |
Luis Felipe Strano Moraes!
llvm-svn: 129558
|
|
|
|
|
|
|
|
|
|
|
| |
LiveIns."
In other words, do not keep track of argument's location. The debugger (gdb) is not prepared to see line table entries for arguments. For the debugger, "second" line table entry marks beginning of function body.
This requires some coordination with debugger to get this working.
- The debugger needs to be aware of prolog_end attribute attached with line table entries.
- The compiler needs to accurately mark prolog_end in line table entries (at -O0 and at -O1+)
llvm-svn: 126155
|
|
|
|
| |
llvm-svn: 126108
|
|
|
|
|
|
|
|
|
| |
of testing for its presence at cmake time.
This way the build automatically regenerates the makefiles when a svn
update brings in a new sublibrary.
llvm-svn: 126068
|
|
|
|
|
|
| |
other getNode() methods. Radar 9002173.
llvm-svn: 125665
|
|
|
|
| |
llvm-svn: 125444
|
|
|
|
| |
llvm-svn: 124611
|
|
|
|
|
|
| |
backend. It makes the code generated more compliant with the sparc32 ABI.
llvm-svn: 124030
|
|
|
|
|
|
| |
-mattr=v9 is used.
llvm-svn: 124027
|
|
|
|
|
|
|
| |
Rename FLUSH to FLUSHW.
Output "ta 3" instead of a "flushw" instruction if v8 instruction set is used.
llvm-svn: 123997
|
|
|
|
| |
llvm-svn: 123974
|
|
|
|
|
|
| |
with useful instructions.
llvm-svn: 123884
|
|
|
|
|
|
| |
CallingConv assignments.
llvm-svn: 123749
|
|
|
|
| |
llvm-svn: 123561
|
|
|
|
| |
llvm-svn: 123399
|
|
|
|
| |
llvm-svn: 123310
|
|
|
|
|
|
| |
ensure %o7 is not assigned as the destination of getpcx instruction.
llvm-svn: 123304
|
|
|
|
|
|
|
| |
are correctly marked as used instead of passing all possible argument registers
as used.
llvm-svn: 123301
|
|
|
|
| |
llvm-svn: 123281
|
|
|
|
| |
llvm-svn: 123171
|
|
|
|
|
|
| |
and fixes here and there.
llvm-svn: 123170
|
|
|
|
| |
llvm-svn: 122626
|
|
|
|
|
|
|
|
| |
subxcc defs/uses;
and fixed CustomInserter.
llvm-svn: 122607
|
|
|
|
| |
llvm-svn: 122513
|
|
|
|
|
|
|
| |
something that just glues two nodes together, even if it is
sometimes used for flags.
llvm-svn: 122310
|
|
|
|
| |
llvm-svn: 119990
|
|
|
|
| |
llvm-svn: 119740
|
|
|
|
| |
llvm-svn: 119098
|
|
|
|
|
|
| |
out of TargetRegisterInfo to TargetFrameInfo, which is definitely much better suitable place
llvm-svn: 119097
|
|
|
|
|
|
|
| |
that should be split out is the InstPrinter (if a target is mc'ized).
This change makes all the targets be consistent.
llvm-svn: 119056
|
|
|
|
|
|
|
|
|
|
| |
value type, so there is no point in passing it around using
an EVT. Use the simpler MVT everywhere. Rather than trying
to propagate this information maximally in all the code that
using the calling convention stuff, I chose to do a mainly
low impact change instead.
llvm-svn: 118167
|