| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 79146
|
| |
|
|
| |
llvm-svn: 79142
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
what was there before. In "no FP mode", we weren't generating labels and unwind
table entries after each "push" instruction. While more than likely "okay", it's
not technically correct. The major thing was that the ordering of when to define
a new CFA register and at what offset wasn't correct. This would cause the
exception handling to fail in ways most miserable to users.
I also cleaned up some code a bit. There's one function which has a "return" at
the beginning, so it's never used. Should I just remove it? :-)
llvm-svn: 79139
|
| |
|
|
| |
llvm-svn: 79136
|
| |
|
|
| |
llvm-svn: 79135
|
| |
|
|
| |
llvm-svn: 79134
|
| |
|
|
| |
llvm-svn: 79133
|
| |
|
|
|
|
| |
blocks.
llvm-svn: 79132
|
| |
|
|
|
|
|
|
|
|
| |
support unaligned mem access only for certain types. (Should it be size
instead?)
ARM v7 supports unaligned access for i16 and i32, some v6 variants support it
as well.
llvm-svn: 79127
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is legal for an inline asm operand to use an earlyclobber register if the
use operand is tied to the earlyclobber operand. The issue is discussed here:
http://gcc.gnu.org/ml/gcc/1999-04n/msg00431.html
We should perhaps let only the machine code verifier worry about these finer
details. EarlyClobber operands are not really interesting to the scavenger.
This fixes PR4528 for the third time.
llvm-svn: 79122
|
| |
|
|
|
|
|
| |
is why they are datarel). This should fix PR4724, and is fallout
from r78890.
llvm-svn: 79111
|
| |
|
|
| |
llvm-svn: 79107
|
| |
|
|
| |
llvm-svn: 79101
|
| |
|
|
| |
llvm-svn: 79098
|
| |
|
|
|
|
|
|
| |
PIC16DebugInfo currently rely on NameStr of composite type descriptors to uniquely
identify debug info for two aggregate type decls with same name.
This implementation will change when we have MDNodes based debug info implemenatation in place
llvm-svn: 79097
|
| |
|
|
|
|
|
|
|
|
| |
In a naked function, the flag is never set and getPristineRegs() returns an
empty list. That means naked functions are able to clobber callee saved
registers, but that is the whole point of naked functions.
This fixes PR4716.
llvm-svn: 79096
|
| |
|
|
| |
llvm-svn: 79095
|
| |
|
|
| |
llvm-svn: 79094
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Link Register is volatile when using the 32-bit SVR4 ABI.
Make it possible to use the 64-bit SVR4 ABI.
Add non-volatile registers for the 64-bit SVR4 ABI.
Make sure r2 is a reserved register when using the 64-bit SVR4 ABI.
Update PPCFrameInfo for the 64-bit SVR4 ABI.
Add FIXME for 64-bit Darwin PPC.
Insert NOP instruction after direct function calls.
Emit official procedure descriptors.
Create TOC entries for GlobalAddress references.
Spill 64-bit non-volatile registers to the correct slots.
Only custom lower VAARG when using the 32-bit SVR4 ABI.
Use simple VASTART lowering for the 64-bit SVR4 ABI.
llvm-svn: 79091
|
| |
|
|
|
|
|
|
| |
In the included test case, a stack load was not included in DistanceMap. That
caused TransferDeadness to ignore the instruction, leading to a scavenger
assert.
llvm-svn: 79090
|
| |
|
|
| |
llvm-svn: 79087
|
| |
|
|
| |
llvm-svn: 79084
|
| |
|
|
| |
llvm-svn: 79082
|
| |
|
|
|
|
| |
the class it defines.
llvm-svn: 79081
|
| |
|
|
| |
llvm-svn: 79080
|
| |
|
|
|
|
|
|
| |
support for globals going into the appropriate sections with the flags.
This hopefully finishes unbreaking the previous behavior that I broke before.
llvm-svn: 79079
|
| |
|
|
|
|
| |
them to null out the default section pointers.
llvm-svn: 79078
|
| |
|
|
|
|
|
| |
class which represents the XCore cp/dp section flags. No functionality
change yet.
llvm-svn: 79077
|
| |
|
|
|
|
| |
"the current basic block".
llvm-svn: 79069
|
| |
|
|
| |
llvm-svn: 79068
|
| |
|
|
|
|
| |
is frameless.
llvm-svn: 79067
|
| |
|
|
|
|
| |
a terminal, not just when it's STDOUT_FILENO.
llvm-svn: 79066
|
| |
|
|
| |
llvm-svn: 79065
|
| |
|
|
| |
llvm-svn: 79064
|
| |
|
|
| |
llvm-svn: 79063
|
| |
|
|
|
|
| |
the pred list instead of a vector, saving a boat load of malloc/free's.
llvm-svn: 79062
|
| |
|
|
|
|
|
| |
the register save area if %al is 0. This avoids touching xmm
regsiters when they aren't actually used.
llvm-svn: 79061
|
| |
|
|
| |
llvm-svn: 79044
|
| |
|
|
|
|
| |
-disable-fp-elim.
llvm-svn: 79039
|
| |
|
|
|
|
|
|
|
|
| |
libcall. Take advantage of this in the ARM backend to rectify broken
choice of CC when hard float is in effect. PIC16 may want to see if
it could be of use in MakePIC16Libcall, which works unchanged.
Patch by Sandeep!
llvm-svn: 79033
|
| |
|
|
| |
llvm-svn: 79032
|
| |
|
|
|
|
|
| |
- We now print all of 403.gcc cleanly (llvm-mc -> 'as' as diffed to 'as'), minus two
'rep;movsl' instructions (which I missed before).
llvm-svn: 79031
|
| |
|
|
| |
llvm-svn: 79030
|
| |
|
|
|
|
| |
elf object file.
llvm-svn: 79029
|
| |
|
|
| |
llvm-svn: 79026
|
| |
|
|
|
|
|
|
| |
symbol as the symbol name itself, not the expression it was defined to. These
have different semantics due to the quirky .set behavior (which absolutizes an
expression that would otherwise be treated as a relocation).
llvm-svn: 79025
|
| |
|
|
| |
llvm-svn: 79024
|
| |
|
|
| |
llvm-svn: 79022
|
| |
|
|
| |
llvm-svn: 79017
|
| |
|
|
| |
llvm-svn: 79016
|