- Aug 17, 2010
-
-
Jim Grosbach authored
whether to allocate a virtual frame base register to resolve the frame index reference in it. Implement a simple version for ARM to aid debugging. In LocalStackSlotAllocation, scan the function for frame index references to local frame indices and ask the target whether to allocate virtual frame base registers for any it encounters. Purely infrastructural for debug output. Next step is to actually allocate base registers, then add intelligent re-use of them. rdar://8277890 llvm-svn: 111262
-
Jim Grosbach authored
llvm-svn: 111260
-
Benjamin Kramer authored
llvm-svn: 111259
-
Evan Cheng authored
Move the decision logic whether it's a good idea to split a critical edge to clients. Also fixed an erroneous check. An edge is only a back edge when the from and to blocks are in the same loop. llvm-svn: 111256
-
Dan Gohman authored
loop, making the resulting loop significantly less ugly. Also, zap its trivial PHI nodes, since it's easy. llvm-svn: 111255
-
Jim Grosbach authored
llvm-svn: 111254
-
Benjamin Kramer authored
llvm-svn: 111252
-
Bob Wilson authored
printing "lsl #0". This fixes the remaining parts of pr7792. Make corresponding changes for encoding/decoding these instructions. llvm-svn: 111251
-
Evan Cheng authored
llvm-svn: 111250
-
Dan Gohman authored
what it does manually. llvm-svn: 111248
-
Benjamin Kramer authored
llvm-svn: 111247
-
Chris Lattner authored
llvm-svn: 111241
-
Nick Lewycky authored
against it. This affects Windows. llvm-svn: 111240
-
Chris Lattner authored
cygwin when built with ENABLE_SHARED=1. Patch by NAKAMURA Takumi! llvm-svn: 111231
-
Bob Wilson authored
llvm-svn: 111226
-
Evan Cheng authored
Add an option to disable codegen prepare critical edge splitting. In theory, PHI elimination is already doing all (most?) of the splitting needed. But machine-licm and machine-sink seem to miss some important optimizations when splitting is disabled. llvm-svn: 111224
-
Eric Christopher authored
llvm-svn: 111223
-
Eric Christopher authored
we're adding predicates and optional defs to the MachineInstrs. llvm-svn: 111222
-
Evan Cheng authored
PHI elimination should not break back edge. It can cause some significant code placement issues. rdar://8263994 good: LBB0_2: mov r2, r0 . . . mov r1, r2 bne LBB0_2 bad: LBB0_2: mov r2, r0 . . . @ BB#3: mov r1, r2 b LBB0_2 llvm-svn: 111221
-
Eric Christopher authored
llvm-svn: 111219
-
Benjamin Kramer authored
llvm-svn: 111214
-
Benjamin Kramer authored
llvm-svn: 111213
-
Owen Anderson authored
llvm-svn: 111210
-
Bob Wilson authored
llvm-svn: 111208
-
Jim Grosbach authored
llvm-svn: 111206
-
Benjamin Kramer authored
llvm-svn: 111201
-
Dan Gohman authored
llvm-svn: 111200
-
Dan Gohman authored
a Pass abstraction, since that's the level it's actually used at. Rename Pass' dumpPassStructure to dumpPass. This eliminates an awkward use of getAsPass() to convert a PMDataManager* into a Pass* just to permit a dumpPassStructure call. llvm-svn: 111199
-
Jim Grosbach authored
mapping. Have the local block track its alignment requirement, and then apply that when the block itself is allocated. Previously, offsets could get adjusted in PEI to be different, relative to one another, than the block allocation thought they would be, which defeats the point of doing the allocation this way. Continuing rdar://8277890 llvm-svn: 111197
-
Bob Wilson authored
that the high halfword is zero. The shift need not be exactly 16 bits. llvm-svn: 111196
-
- Aug 16, 2010
-
-
Dan Gohman authored
llvm-svn: 111192
-
Dan Gohman authored
PMTopLevelManager's constructor take a PMDataManager *, which already provides the needed abstraction support. llvm-svn: 111189
-
Eli Friedman authored
llvm-svn: 111185
-
Eli Friedman authored
llvm-svn: 111183
-
Eli Friedman authored
llvm-svn: 111182
-
Eli Friedman authored
emission. llvm-svn: 111177
-
Eli Friedman authored
llvm-svn: 111175
-
Matt Fleming authored
I forgot to add these files in commit 111172. llvm-svn: 111174
-
Matt Fleming authored
llvm-svn: 111173
-
Matt Fleming authored
llvm-svn: 111172
-