- Dec 20, 2008
-
-
Dan Gohman authored
and setDepthDirty(), respectively. This fixes PR3241. llvm-svn: 61276
-
- Dec 19, 2008
-
-
Bill Wendling authored
llvm-svn: 61265
-
Bill Wendling authored
llvm-svn: 61264
-
Dan Gohman authored
warnings on compilers that warn about such things. llvm-svn: 61263
-
Evan Cheng authored
Fix PR3149. If an early clobber def is a physical register and it is tied to an input operand, it effectively extends the live range of the physical register. Currently we do not have a good way to represent this. 172 %ECX<def> = MOV32rr %reg1039<kill> 180 INLINEASM <es:subl $5,$1 sbbl $3,$0>, 10, %EAX<def>, 14, %ECX<earlyclobber,def>, 9, %EAX<kill>, 36, <fi#0>, 1, %reg0, 0, 9, %ECX<kill>, 36, <fi#1>, 1, %reg0, 0 188 %EAX<def> = MOV32rr %EAX<kill> 196 %ECX<def> = MOV32rr %ECX<kill> 204 %ECX<def> = MOV32rr %ECX<kill> 212 %EAX<def> = MOV32rr %EAX<kill> 220 %EAX<def> = MOV32rr %EAX 228 %reg1039<def> = MOV32rr %ECX<kill> The early clobber operand ties ECX input to the ECX def. The live interval of ECX is represented as this: %reg20,inf = [46,47:1)[174,230:0) 0@174-(230) 1@46-(47) The right way to represent this is something like %reg20,inf = [46,47:2)[174,182:1)[181:230:0) 0@174-(182) 1@181-230 @2@46-(47) Of course that won't work since that means overlapping live ranges defined by two val#. The workaround for now is to add a bit to val# which says the val# is redefined by a early clobber def somewhere. This prevents the move at 228 from being optimized away by SimpleRegisterCoalescing::AdjustCopiesBackFrom. llvm-svn: 61259
-
John Criswell authored
version number assertions. llvm-svn: 61257
-
Bill Wendling authored
llvm-svn: 61254
-
Gordon Henriksen authored
llvm-svn: 61253
-
Gordon Henriksen authored
This operation can be used to build dyn_cast, isa, and cast. llvm-svn: 61252
-
Chris Lattner authored
Patch by Lukasz Janyst! llvm-svn: 61251
-
Dan Gohman authored
that have i32 immediates so that they get selected first. This currently only matters in the JIT, as assemblers will automatically use the smallest encoding. llvm-svn: 61250
-
Dan Gohman authored
reduces the amount of code slightly when assertions are enabled. llvm-svn: 61249
-
Evan Cheng authored
- CodeGenPrepare does not split loop back edges but it only knows about back edges of single block loops. It now does a DFS walk to find loop back edges. - Use SplitBlockPredecessors to factor out common predecessors of the critical edge destination. This is disabled for now due to some regressions. llvm-svn: 61248
-
Chris Lattner authored
llvm-svn: 61244
-
Rafael Espindola authored
The EH_frame and .eh symbols are now private, except for darwin9 and earlier. The patch also fixes the definition of PrivateGlobalPrefix on pcc linux. llvm-svn: 61242
-
Nick Lewycky authored
llvm-svn: 61241
-
Nick Lewycky authored
llvm-svn: 61240
-
Nick Lewycky authored
The problematic part of this patch is that we were out of attribute bits, requiring some fancy bit hacking to make it fit (by shrinking alignment) without breaking existing users or the file format. This change will require users to rebuild llvm-gcc to match llvm. llvm-svn: 61239
-
Bill Wendling authored
llvm-svn: 61238
-
Dan Gohman authored
data from a previous block. llvm-svn: 61237
-
Dan Gohman authored
one instruction. llvm-svn: 61236
-
Dan Gohman authored
argument. Nothing was using it, and it set the MBB member without calling enterBasicBlock, which was problematic. llvm-svn: 61234
-
Mon P Wang authored
of incorrectly generating pmuldq llvm-svn: 61228
-
- Dec 18, 2008
-
-
Bill Wendling authored
llvm-svn: 61222
-
Dan Gohman authored
subreg instructions. llvm-svn: 61220
-
Bill Wendling authored
llvm-svn: 61219
-
Dan Gohman authored
that of INSERT_SUBREG and SUBREG_TO_REG. llvm-svn: 61218
-
Dan Gohman authored
llvm-svn: 61217
-
Dan Gohman authored
llvm-svn: 61216
-
Dan Gohman authored
used, mark the defs as dead. llvm-svn: 61215
-
Dan Gohman authored
non-entry blocks, so that it doesn't appear use-before-def anywhere. llvm-svn: 61214
-
Dan Gohman authored
llvm-svn: 61213
-
Mon P Wang authored
llvm-svn: 61211
-
Mon P Wang authored
llvm-svn: 61210
-
Mon P Wang authored
llvm-svn: 61209
-
Evan Cheng authored
llvm-svn: 61201
-
Nick Lewycky authored
Simplifying the sdiv might allow further simplifications for our users. llvm-svn: 61196
-
Nick Lewycky authored
llvm-svn: 61195
-
Chris Lattner authored
bit from the original function to the cloned one. llvm-svn: 61194
-
Mikhail Glushenkov authored
llvm-svn: 61191
-