- Aug 01, 2012
-
-
Akira Hatanaka authored
No new test case is added. This patch makes test JITTest.FunctionIsRecompiledAndRelinked pass on mips platform. Patch by Petar Jovanovic. llvm-svn: 161098
-
Nick Kledzik authored
llvm-svn: 161097
-
Akira Hatanaka authored
llvm-svn: 161095
-
Akira Hatanaka authored
instructions that decrement and increment the stack pointer before and after a call when the function does not have a reserved call frame. llvm-svn: 161093
-
Akira Hatanaka authored
MipsSERegisterInfo. llvm-svn: 161092
-
Akira Hatanaka authored
MipsSEFrameLowering. Implement MipsSEFrameLowering::hasReservedCallFrame. Call frames will not be reserved if there is a call with a large call frame or there are variable sized objects on the stack. llvm-svn: 161090
-
Nick Kledzik authored
llvm-svn: 161085
-
Akira Hatanaka authored
llvm-svn: 161083
-
Michael J. Spencer authored
llvm-svn: 161082
-
- Jul 31, 2012
-
-
Akira Hatanaka authored
and MipsSEInstrInfo (for mips32/64). llvm-svn: 161081
-
Akira Hatanaka authored
of them. llvm-svn: 161080
-
Akira Hatanaka authored
computing it in MipsFrameLowering::emitPrologue. llvm-svn: 161078
-
Akira Hatanaka authored
The frame object which points to the dynamically allocated area will not be needed after changes are made to cease reserving call frames. llvm-svn: 161076
-
Manman Ren authored
Use stable_sort instead of sort. Follow-up to r161062. rdar://11980766 llvm-svn: 161075
-
Jakob Stoklund Olesen authored
Assuming infinite issue width, compute the earliest each instruction in the trace can issue, when considering the latency of data dependencies. The issue cycle is record as a 'depth' from the beginning of the trace. This is half the computation required to find the length of the critical path through the trace. Heights are next. llvm-svn: 161074
-
Jakob Stoklund Olesen authored
llvm-svn: 161072
-
Akira Hatanaka authored
or not it is in mips16 mode. Define MipsPseudo (mode-independant pseudo) and PseudoSE (mips32/64 pseudo) classes. llvm-svn: 161071
-
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
-
Ted Kremenek authored
llvm-svn: 161065
-
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
-
Manman Ren authored
One motivating example is to sink an instruction from a basic block which has two successors: one outside the loop, the other inside the loop. We should try to sink the instruction outside the loop. rdar://11980766 llvm-svn: 161062
-
Micah Villmow authored
llvm-svn: 161061
-
Micah Villmow authored
llvm-svn: 161053
-
Chandler Carruth authored
re-use allocated vectors as much as possible. llvm-svn: 161041
-
Sylvestre Ledru authored
llvm-svn: 161037
-
Craig Topper authored
llvm-svn: 161034
-
Craig Topper authored
Tidy up. Move for loop index declarations into for statements. Use unsigned instead of uint16_t for loop indices. Use unsigned instead of uint32_t for arguments to raw_ostream.indent. llvm-svn: 161033
-
Craig Topper authored
llvm-svn: 161032
-
Craig Topper authored
llvm-svn: 161031
-
Craig Topper authored
llvm-svn: 161030
-
Craig Topper authored
llvm-svn: 161029
-
Craig Topper authored
llvm-svn: 161027
-
Craig Topper authored
llvm-svn: 161026
-
Chandler Carruth authored
llvm-svn: 161025
-
Chandler Carruth authored
for this class. These tests exercise most of the basic properties, but the API for TinyPtrVector is very strange currently. My plan is to start fleshing out the API to match that of SmallVector, but I wanted a test for what is there first. Sadly, it doesn't look reasonable to just re-use the SmallVector tests, as this container can only ever store pointers, and much of the SmallVector testing is to get construction and destruction right. Just to get this basic test working, I had to add value_type to the interface. While here I found a subtle bug in the combination of 'erase', 'begin', and 'end'. Both 'begin' and 'end' wanted to use a null pointer to indicate the "end" iterator of an empty vector, regardless of whether there is actually a vector allocated or the pointer union is null. Everything else was fine with this except for erase. If you erase the last element of a vector after it has held more than one element, we return the end iterator of the underlying SmallVector which need not be a null pointer. Instead, simply use the pointer, and poniter + size() begin/end definitions in the tiny case, and delegate to the inner vector whenever it is present. llvm-svn: 161024
-
Jakob Stoklund Olesen authored
We are extending live ranges, so kill flags are not accurate. They aren't needed until they are recomputed after RA anyway. <rdar://problem/11950722> llvm-svn: 161023
-
Manman Ren authored
We branch to the successor with higher edge weight first. Convert from je LBB4_8 --> to outer loop jmp LBB4_14 --> to inner loop to jne LBB4_14 jmp LBB4_8 PR12750 rdar: 11393714 llvm-svn: 161018
-
Andrew Trick authored
llvm-svn: 161010
-