- Jul 31, 2012
-
-
Akira Hatanaka authored
instruction class. SE stands for standard encoding. llvm-svn: 161069
-
Akira Hatanaka authored
arguments to the stack in MipsISelLowering::LowerCall, use stack pointer and integer offset operands rather than frame object operands. llvm-svn: 161068
-
Chad Rosier authored
Previously, we were using EBX, but PIC requires the GOT to be in EBX before function calls via PLT GOT pointer. llvm-svn: 161066
-
Akira Hatanaka authored
single-precision load and store. Also avoid selecting LUXC1 and SUXC1 instructions during isel. It is incorrect to map unaligned floating point load/store nodes to these instructions. llvm-svn: 161063
-
Craig Topper authored
llvm-svn: 161029
-
Craig Topper authored
llvm-svn: 161027
-
Craig Topper authored
llvm-svn: 161026
-
- Jul 30, 2012
-
-
Kevin Enderby authored
where the other_half of the movt and movw relocation entries needs to get set and only with the 16 bits of the other half. rdar://10038370 llvm-svn: 160978
-
Craig Topper authored
llvm-svn: 160953
-
Craig Topper authored
Mark MOVZX32_NOREX as isCodeGenOnly and neverHasSideEffects. The isCodeGenOnly change allows special detection of _NOREX instructions to be removed from tablegen disassembler code. llvm-svn: 160951
-
Craig Topper authored
llvm-svn: 160942
-
Craig Topper authored
llvm-svn: 160941
-
Craig Topper authored
Fix up patterns for VCVTSS2SD. Specifically give it priority over SSE form. Add an OptForSpeed to explicitly pair up with an OptForSize that was already on another pattern. llvm-svn: 160939
-
Craig Topper authored
llvm-svn: 160938
-
Craig Topper authored
llvm-svn: 160937
-
- Jul 29, 2012
-
-
Manman Ren authored
llvm-svn: 160927
-
- Jul 28, 2012
-
-
Craig Topper authored
llvm-svn: 160922
-
Craig Topper authored
llvm-svn: 160921
-
Manman Ren authored
Machine CSE and other optimizations can remove instructions so folding is possible at peephole while not possible at ISel. rdar://10554090 and rdar://11873276 llvm-svn: 160919
-
Craig Topper authored
llvm-svn: 160914
-
Craig Topper authored
llvm-svn: 160913
-
Manman Ren authored
It is possible that an instruction can use and update EFLAGS. When checking the safety, we should check the usage of EFLAGS first before declaring it is safe to optimize due to the update. llvm-svn: 160912
-
- Jul 27, 2012
-
-
Akira Hatanaka authored
replace uses of function getMaxCallFrameSize defined in MipsFunctionInfo with the one MachineFrameInfo has. llvm-svn: 160841
-
Jakob Stoklund Olesen authored
llvm-svn: 160833
-
Jakob Stoklund Olesen authored
I'll remove these two sub-register indexes shortly. llvm-svn: 160831
-
Jakob Stoklund Olesen authored
The (COPY_TO_REGCLASS GR32:$src, VR128) pattern looks odd, but copyPhysReg does the right thing with it. (The old pattern would eventually produce the same cross-class copy). llvm-svn: 160830
-
Jakob Stoklund Olesen authored
This gets rid of some more INSERT_SUBREG - IMPLICIT_DEF patterns, simplifying the emitted code a bit. llvm-svn: 160820
-
Jakob Stoklund Olesen authored
The SUBREG_TO_REG instruction has magic semantics asserting that the source value was defined by an instruction that cleared the high half of the register. Those semantics are never actually exploited for xmm registers. llvm-svn: 160818
-
- Jul 26, 2012
-
-
Jakob Stoklund Olesen authored
These idempotent sub-register indices don't do anything --- They simply map XMM registers to themselves. They no longer affect register classes either since the SubRegClasses field has been removed from Target.td. This patch replaces XMM->XMM EXTRACT_SUBREG and INSERT_SUBREG patterns with COPY_TO_REGCLASS patterns which simply become COPY instructions. The number of IMPLICIT_DEF instructions before register allocation is reduced, and that is the cause of the test case changes. llvm-svn: 160816
-
Craig Topper authored
llvm-svn: 160775
-
Akira Hatanaka authored
Patch by Reed Kotler. llvm-svn: 160774
-
- Jul 25, 2012
-
-
Jim Grosbach authored
Before accessing a node as a ConstandSDNode, make sure it actually is one. No testcase of non-trivial size. rdar://11948669 llvm-svn: 160735
-
Nuno Lopes authored
make all Emit*() functions consult the TargetLibraryInfo information before creating a call to a library function. Update all clients to pass the TLI information around. Previous draft reviewed by Eli. llvm-svn: 160733
-
Rafael Espindola authored
llvm-svn: 160731
-
Rafael Espindola authored
to pop. llvm-svn: 160725
-
Rafael Espindola authored
change. llvm-svn: 160724
-
Akira Hatanaka authored
The long branch pass (fixed in r160601) no longer uses the global base register to compute addresses of branch destinations, so it is not necessary to reserve a slot on the stack. llvm-svn: 160703
-
- Jul 24, 2012
-
-
Kevin Enderby authored
if Condition Is Met instuctions that was not correctly determining the target instruction. So for a jne rel32 instruction: % cat x.s .byte 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00 % as x.s it was incorrectly deterining the target: % otool -q -tv a.out a.out: (__TEXT,__text) section 0000000000000000 jne 0xd and with the fix it gets this correct as: % otool -q -tv a.out a.out: (__TEXT,__text) section 0000000000000000 jne 0xf rdar://11505997 llvm-svn: 160694
-
Nuno Lopes authored
fputc, memchr, memcmp, putchar, puts, strchr, strncmp llvm-svn: 160690
-
David Chisnall authored
are targeting an ELF platform. Only fold gs-relative (and fs-relative) loads if it is actually sensible to do so for the target platform. This fixes PR13438. llvm-svn: 160687
-