- Jun 18, 2010
-
-
Dan Gohman authored
the old one. llvm-svn: 106284
-
Dan Gohman authored
Don't replace the old DbgInfo with a new one when clear() on the old one is sufficient. llvm-svn: 106283
-
Dan Gohman authored
SDNode *, since it doesn't care about the ResNo value. llvm-svn: 106282
-
Dan Gohman authored
llvm-svn: 106279
-
Dan Gohman authored
llvm-svn: 106278
-
Dan Gohman authored
which is faster, simpler, and less surprising. llvm-svn: 106263
-
Dan Gohman authored
llvm-svn: 106256
-
Stuart Hastings authored
addresses a longstanding deficiency noted in many FIXMEs scattered across all the targets. This effectively moves the problem up one level, replacing eleven FIXMEs in the targets with eight FIXMEs in CodeGen, plus one path through FastISel where we actually supply a DebugLoc, fixing Radar 7421831. llvm-svn: 106243
-
- Jun 17, 2010
-
-
Jim Grosbach authored
for correctness' sake, it should be there. llvm-svn: 106229
-
Jim Grosbach authored
for the moment. The implementation of the libcall will follow. Currently, the llvm-gcc knows when the intrinsics can be correctly handled by the back end and only generates them in those cases, issuing libcalls directly otherwise. That's too much coupling. The intrinsics should always be generated and the back end decide how to handle them, be it with a libcall, inline code, or whatever. This patch is a step in that direction. rdar://8097623 llvm-svn: 106227
-
Jim Grosbach authored
sets the legalize action to Expand. llvm-svn: 106203
-
- Jun 16, 2010
-
-
Jakob Stoklund Olesen authored
LiveVariableAnalysis was a bit picky about a register only being redefined once, but that really isn't necessary. Here is an example of chained INSERT_SUBREGs that we can handle now: 68 %reg1040<def> = INSERT_SUBREG %reg1040, %reg1028<kill>, 14 register: %reg1040 +[70,134:0) 76 %reg1040<def> = INSERT_SUBREG %reg1040, %reg1029<kill>, 13 register: %reg1040 replace range with [70,78:1) RESULT: %reg1040,0.000000e+00 = [70,78:1)[78,134:0) 0@78-(134) 1@70-(78) 84 %reg1040<def> = INSERT_SUBREG %reg1040, %reg1030<kill>, 12 register: %reg1040 replace range with [78,86:2) RESULT: %reg1040,0.000000e+00 = [70,78:1)[78,86:2)[86,134:0) 0@86-(134) 1@70-(78) 2@78-(86) 92 %reg1040<def> = INSERT_SUBREG %reg1040, %reg1031<kill>, 11 register: %reg1040 replace range with [86,94:3) RESULT: %reg1040,0.000000e+00 = [70,78:1)[78,86:2)[86,94:3)[94,134:0) 0@94-(134) 1@70-(78) 2@78-(86) 3@86-(94) rdar://problem/8096390 llvm-svn: 106152
-
Jim Grosbach authored
llvm-svn: 106126
-
Bill Wendling authored
llvm-svn: 106119
-
Evan Cheng authored
Make post-ra scheduling, anti-dep breaking, and register scavenger (conservatively) aware of predicated instructions. This enables ARM to move if-conversion before post-ra scheduler. llvm-svn: 106091
-
Devang Patel authored
This speeds up local variable handling in DwarfDebug. llvm-svn: 106075
-
Eric Christopher authored
llvm-svn: 106073
-
Bill Wendling authored
will conflict with another live range. The place which creates this scenerio is the code in X86 that lowers a select instruction by splitting the MBBs. This eliminates the need to check from the bottom up in an MBB for live pregs. llvm-svn: 106066
-
Stuart Hastings authored
llvm-svn: 106063
-
Bob Wilson authored
llvm-svn: 106057
-
- Jun 15, 2010
-
-
Jakob Stoklund Olesen authored
Please use the fast allocator instead. llvm-svn: 106051
-
Mon P Wang authored
llvm-svn: 106038
-
Bob Wilson authored
llvm-svn: 106027
-
Jim Grosbach authored
llvm-svn: 106024
-
Jakob Stoklund Olesen authored
SimpleRegisterCoalescing::JoinIntervals() uses CoalescerPair to determine if a copy is coalescable, and in very rare cases it can return true where LHS is not live - the coalescable copy can come from an alias of the physreg in LHS. llvm-svn: 106021
-
Bob Wilson authored
llvm-svn: 106015
-
Bob Wilson authored
combined to an insert_subreg, i.e., where the destination register is larger than the source. We need to check that the subregs can be composed for that case in a symmetrical way to the case when the destination is smaller. llvm-svn: 106004
-
Jakob Stoklund Olesen authored
Early clobbers defining a virtual register were first alocated to a physreg and then processed as a physreg EC, spilling the virtreg. This fixes PR7382. llvm-svn: 105998
-
Jakob Stoklund Olesen authored
Given a copy instruction, CoalescerPair can determine which registers to coalesce in order to eliminate the copy. It deals with all the subreg fun to determine a tuple (DstReg, SrcReg, SubIdx) such that: - SrcReg is a virtual register that will disappear after coalescing. - DstReg is a virtual or physical register whose live range will be extended. - SubIdx is 0 when DstReg is a physical register. - SrcReg can be joined with DstReg:SubIdx. CoalescerPair::isCoalescable() determines if another copy instruction is compatible with the same tuple. This fixes some NEON miscompilations where shuffles are getting coalesced as if they were copies. The CoalescerPair class will replace a lot of the spaghetti logic in JoinCopy later. llvm-svn: 105997
-
Bob Wilson authored
replacing the overly conservative checks that I had introduced recently to deal with correctness issues. This makes a pretty noticable difference in our testcases where reg_sequences are used. I've updated one test to check that we no longer emit the unnecessary subreg moves. llvm-svn: 105991
-
Ted Kremenek authored
llvm-svn: 105987
-
- Jun 14, 2010
-
-
Jim Grosbach authored
Make sure to skip the dbg_value instructions when moving dups out of the diamond. rdar://7797940 llvm-svn: 105965
-
Evan Cheng authored
- Rename ExactHazardRecognizer to PostRAHazardRecognizer and move its header to include to allow targets to extend it. llvm-svn: 105959
-
Evan Cheng authored
llvm-svn: 105955
-
Chris Lattner authored
llvm-svn: 105942
-
- Jun 12, 2010
-
-
Bill Wendling authored
clean-up to a catch-all after inlining, take into account that there could be filter IDs as well. The presence of filters don't mean that the selector catches anything. It's just metadata information. llvm-svn: 105872
-
Evan Cheng authored
llvm-svn: 105862
-
Evan Cheng authored
llvm-svn: 105861
-
- Jun 11, 2010
-
-
Stuart Hastings authored
llvm-svn: 105828
-
- Jun 10, 2010
-
-
Evan Cheng authored
llvm-svn: 105775
-