- Dec 03, 2009
-
-
Devang Patel authored
llvm-svn: 90474
-
Evan Cheng authored
llvm-svn: 90432
-
Nate Begeman authored
Don't pull vector sext through both hands of a logical operation, since doing so prevents the fusion of vector sext and setcc into vsetcc. Add a testcase for the above transformation. Fix a bogus use of APInt noticed while tracking this down. llvm-svn: 90423
-
Jakob Stoklund Olesen authored
llvm-svn: 90415
-
Evan Cheng authored
llvm-svn: 90395
-
Jakob Stoklund Olesen authored
The MO reference to a MachineOperand can be invalidated by MachineInstr::addOperand. Don't even use it for debugging. llvm-svn: 90381
-
Devang Patel authored
Emit method definition DIE at module level (even for methods with inlined functino body at soure level) so that the debugger can invoke it. This fixes many test failures in gdb test suite. llvm-svn: 90375
-
Chris Lattner authored
Patch by Howard Hinnant! llvm-svn: 90365
-
- Dec 02, 2009
-
-
Douglas Gregor authored
llvm-svn: 90354
-
Evan Cheng authored
llvm-svn: 90353
-
Jim Grosbach authored
llvm-svn: 90337
-
Jim Grosbach authored
No functionality change. llvm-svn: 90336
-
Bob Wilson authored
llvm-svn: 90326
-
Devang Patel authored
llvm-svn: 90318
-
Devang Patel authored
llvm-svn: 90281
-
- Dec 01, 2009
-
-
Evan Cheng authored
- A valno should be set HasRedefByEC if there is an early clobber def in the middle of its live ranges. It should not be set if the def of the valno is defined by an early clobber. - If a physical register def is tied to an use and it's an early clobber, it just means the HasRedefByEC is set since it's still one continuous live range. - Add a couple of missing checks for HasRedefByEC in the coalescer. In general, it should not coalesce a vr with a physical register if the physical register has a early clobber def somewhere. This is overly conservative but that's the price for using such a nasty inline asm "feature". llvm-svn: 90269
-
Dan Gohman authored
framework omits differentiated edge sources in the case where the labels are empty strings. llvm-svn: 90254
-
Dan Gohman authored
llvm-svn: 90253
-
Dan Gohman authored
llvm-svn: 90252
-
Devang Patel authored
Clear function specific containers while processing end of a function, even if DW_TAG_subprogram for current function is not found. llvm-svn: 90247
-
Jakob Stoklund Olesen authored
We want LiveVariables clients to use methods rather than accessing the getVarInfo data structure directly. That way it will be possible to change the LiveVariables representation. llvm-svn: 90240
-
Jakob Stoklund Olesen authored
This means that well connected blocks are copy coalesced before the less connected blocks. Connected blocks are more difficult to coalesce because intervals are more complicated, so handling them first gives a greater chance of success. llvm-svn: 90194
-
Dan Gohman authored
DICompileUnit. This code now prints debug filenames successfully. llvm-svn: 90181
-
Evan Cheng authored
llvm-svn: 90180
-
Devang Patel authored
llvm-svn: 90172
-
- Nov 30, 2009
-
-
Jakob Stoklund Olesen authored
New virtual registers created for spill intervals should inherit allocation hints from the original register. This helps us avoid silly copies when rematting values that are copied to a physical register: leaq _.str44(%rip), %rcx movq %rcx, %rsi call _strcmp becomes: leaq _.str44(%rip), %rsi call _strcmp The coalescer will not touch the movq because that would tie down the physical register. llvm-svn: 90163
-
Bob Wilson authored
branches even when optimizing for code size. Unless we find evidence to the contrary in the future, the special treatment for indirect branches does not have a significant effect on code size, and performance still matters with -Os. llvm-svn: 90147
-
Bob Wilson authored
for all the processors where I have tried it, and even when it might not help performance, the cost is quite low. The opportunities for duplicating indirect branches are limited by other factors so code size does not change much due to tail duplicating indirect branches aggressively. llvm-svn: 90144
-
Tobias Grosser authored
llvm-svn: 90136
-
Tobias Grosser authored
llvm-svn: 90134
-
Tobias Grosser authored
llvm-svn: 90133
-
Mon P Wang authored
divide/remainder since these operations can trap by unroll them and adding undefs for the resulting vector. llvm-svn: 90108
-
- Nov 26, 2009
-
-
Bob Wilson authored
llvm-svn: 89968
-
Evan Cheng authored
llvm-svn: 89905
-
Bob Wilson authored
running tail duplication when doing branch folding for if-conversion, and we also want to be able to run tail duplication earlier to fix some reg alloc problems. Move the CanFallThrough function from BranchFolding to MachineBasicBlock so that it can be shared by TailDuplication. llvm-svn: 89904
-
- Nov 25, 2009
-
-
Evan Cheng authored
ProcessImplicitDefs should watch out for invalidated iterator and extra implicit operands on copies. llvm-svn: 89880
-
Benjamin Kramer authored
llvm-svn: 89873
-
Devang Patel authored
llvm-svn: 89866
-
Bob Wilson authored
Make tail duplication of indirect branches much more aggressive (for targets that indicate that it is profitable), based on further experience with this transformation. I compiled 3 large applications with and without this more aggressive tail duplication and measured minimal changes in code size. ("size" on Darwin seems to round the text size up to the nearest page boundary, so I can only say that any code size increase was less than one 4k page.) Radar 7421267. llvm-svn: 89814
-
- Nov 24, 2009
-
-
Devang Patel authored
llvm-svn: 89793
-