| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
This calling convention was added just to handle functions which return vector
of floats. The fix committed in r165585 solves the problem.
llvm-svn: 176530
|
| |
|
|
|
|
|
|
| |
MicroMips architectures.
Contributer: Zoran Jovanovic
llvm-svn: 174360
|
| |
|
|
|
|
|
|
| |
setting of ELF header e_flags.
Contributer: Jack Carter
llvm-svn: 173884
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
but I cannot reproduce the problem and have scrubed my sources and
even tested with llvm-lit -v --vg.
Support for Mips register information sections.
Mips ELF object files have a section that is dedicated
to register use info. Some of this information such as
the assumed Global Pointer value is used by the linker
in relocation resolution.
The register info file is .reginfo in o32 and .MIPS.options
in 64 and n32 abi files.
This patch contains the changes needed to create the sections,
but leaves the actual register accounting for a future patch.
Contributer: Jack Carter
llvm-svn: 172847
|
| |
|
|
| |
llvm-svn: 169578
|
| |
|
|
|
|
|
|
|
|
| |
missed in the first pass because the script didn't yet handle include
guards.
Note that the script is now able to handle all of these headers without
manual edits. =]
llvm-svn: 169224
|
| |
|
|
|
|
| |
support and use it in place of HasMips32r2Or64.
llvm-svn: 168089
|
| |
|
|
| |
llvm-svn: 164428
|
| |
|
|
|
|
|
|
| |
to prevent it from being clobbered. mips uses $gp to access small data section.
This bug was originally reported by Carl Norum.
llvm-svn: 162340
|
| |
|
|
|
|
| |
floats.
llvm-svn: 162008
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instruction encodings can be excluded during mips16 processing.
This revision fixes the issue raised by Jim Grosbach.
bool hasStandardEncoding() const { return !inMips16Mode(); }
When micromips is added it will be
bool StandardEncoding() const { return !inMips16Mode()&& !inMicroMipsMode(); }
No additional testing is needed other than to assure that there is no regression
from this patch.
Patch by Reed Kotler.
llvm-svn: 157234
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
llc to recognize MIPS16 as a MIPS ASE extension. -mips16 will mean the
mips16 ASE for mips32 by default.
As part of fixing of adding this we discovered some small changes that
need to be made to MipsInstrInfo::storeRegToStackSLot and
MipsInstrInfo::loadRegFromStackSlot. We were using some "==" equality tests
where in fact we should have been using Mips::<regclas>.hasSubClassEQ instead,
per suggestion of Jakob Stoklund Olesen.
Patch by Reed Kotler.
llvm-svn: 156958
|
| |
|
|
| |
llvm-svn: 153554
|
| |
|
|
| |
llvm-svn: 151625
|
| |
|
|
|
|
| |
load and store instructions.
llvm-svn: 151611
|
| |
|
|
|
|
| |
http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
llvm-svn: 146960
|
| |
|
|
|
|
| |
Check if architecture & ABI combination is valid.
llvm-svn: 140230
|
| |
|
|
| |
llvm-svn: 140229
|
| |
|
|
| |
llvm-svn: 140214
|
| |
|
|
| |
llvm-svn: 140178
|
| |
|
|
| |
llvm-svn: 139699
|
| |
|
|
| |
llvm-svn: 139421
|
| |
|
|
| |
llvm-svn: 139405
|
| |
|
|
| |
llvm-svn: 134606
|
| |
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
MCInstrItineraries) into MC.
llvm-svn: 134049
|
| |
|
|
|
|
| |
in functionality.
llvm-svn: 129612
|
| |
|
|
|
|
| |
change in functionality.
llvm-svn: 129606
|
| |
|
|
|
|
| |
Hatanaka, Akira
llvm-svn: 127003
|
| |
|
|
| |
llvm-svn: 118864
|
| |
|
|
|
|
| |
(ahatanaka@mips.com)
llvm-svn: 118447
|
| |
|
|
| |
llvm-svn: 91764
|
| |
|
|
|
|
|
| |
implemented somewhat differently than before, but it should have
the same functionality and the previous testcase passes again.
llvm-svn: 78900
|
| |
|
|
| |
llvm-svn: 78894
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
options, which don't appear to be useful. -enable-mips-absolute-call is
completely unused (and unless I'm mistaken, is supposed to have the
same effect that -relocation-model=dynamic-no-pic should have),
and -disable-mips-abicall appears to be effectively a
synonym for -relocation-model=static. Adjust the few users of hasABICall
to checks which seem more appropriate. Update MipsSubtarget,
MipsTargetMachine, and MipselTargetMachine to synchronize with recent
changes.
llvm-svn: 77938
|
| |
|
|
|
|
|
|
|
|
| |
Module*.
Also, dropped uses of TargetMachine where unnecessary. The only target which
still takes a TargetMachine& is Mips, I would appreciate it if someone would
normalize this to match other targets.
llvm-svn: 77918
|
| |
|
|
| |
llvm-svn: 76936
|
| |
|
|
| |
llvm-svn: 72483
|
| |
|
|
| |
llvm-svn: 72335
|
| |
|
|
| |
llvm-svn: 54213
|
| |
|
|
|
|
|
| |
Added gp_rel relocations to support addressing small section contents.
Added command line to specify small section threshold in bytes.
llvm-svn: 53869
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Added HasABICall and HasAbsoluteCall (equivalent to gcc -mabicall and
-mno-shared). HasAbsoluteCall is not implemented but HasABICall is the
default for o32 ABI. Now, both should help into a more accurate
relocation types implementation.
Added IsLinux is needed to choose between asm directives.
Instruction name strings cleanup.
AsmPrinter improved.
llvm-svn: 53551
|
| |
|
|
| |
llvm-svn: 53277
|
| |
|
|
| |
llvm-svn: 53272
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
important.
- Cleanup in the Subtarget info with addition of new features, not all support
yet, but they allow the future inclusion of features easier. Among new features,
we have : Arch family info (mips1, mips2, ...), ABI info (o32, eabi), 64-bit
integer
and float registers, allegrex vector FPU (VFPU), single float only support.
- TargetMachine now detects allegrex core.
- Added allegrex (Mips32r2) sext_inreg instructions.
- *Added Float Point Instructions*, handling single float only, and
aliased accesses for 32-bit FPUs.
- Some cleanup in FP instruction formats and FP register classes.
- Calling conventions improved to support mips 32-bit EABI.
- Added Asm Printer support for fp cond codes.
- Added support for sret copy to a return register.
- EABI support added into LowerCALL and FORMAL_ARGS.
- MipsFunctionInfo now keeps a virtual register per function to track the
sret on function entry until function ret.
- MipsInstrInfo FP support into methods (isMoveInstr, isLoadFromStackSlot, ...),
FP cond codes mapping and initial FP Branch Analysis.
- Two new Mips SDNode to handle fp branch and compare instructions : FPBrcond,
FPCmp
- MipsTargetLowering : handling different FP classes, Allegrex support, sret
return copy, no homing location within EABI, non 32-bit stack objects
arguments, and asm constraint for float.
llvm-svn: 53146
|
| |
|
|
|
|
| |
Added support for mips little endian arch => mipsel
llvm-svn: 51923
|
| |
|
|
| |
llvm-svn: 45418
|