- Jun 09, 2010
-
-
Kenneth Uildriks authored
Pulled CodeMetrics out of InlineCost.h and made it a bit more general, so it can be reused from PartialSpecializationCost llvm-svn: 105725
-
- Jun 05, 2010
-
-
Dan Gohman authored
register pressure. llvm-svn: 105501
-
- May 28, 2010
-
-
Dan Gohman authored
lib/Transforms/Utils and into lib/Analysis so that Analysis passes can use them. llvm-svn: 104949
-
- May 26, 2010
-
-
Benjamin Kramer authored
llvm-svn: 104692
-
Benjamin Kramer authored
llvm-svn: 104648
-
- May 21, 2010
-
-
Dan Gohman authored
llvm-svn: 104290
-
Dan Gohman authored
llvm-svn: 104287
-
- May 20, 2010
-
-
Dan Gohman authored
top-level LSRInstance logic. llvm-svn: 104278
-
Dan Gohman authored
llvm-svn: 104276
-
Dan Gohman authored
aren't needed. llvm-svn: 104273
-
Dan Gohman authored
Changed directly instead of using a return value. Rename FilterOutUndesirableDedicatedRegisters's Changed variable to distinguish it from LSRInstance's Changed member. llvm-svn: 104269
-
Dan Gohman authored
llvm-svn: 104268
-
Dan Gohman authored
llvm-svn: 104267
-
Dan Gohman authored
llvm-svn: 104263
-
Dan Gohman authored
operand on the left, the interesting operand is on the right. This fixes a bug where LSR was failing to recognize ICmpZero uses, which led it to be unable to reverse the induction variable in the attached testcase. Delete test/CodeGen/X86/stack-color-with-reg-2.ll, because its test is extremely fragile and hard to meaningfully update. llvm-svn: 104262
-
Dan Gohman authored
it isn't a very interesting change, it's a change nonetheless. llvm-svn: 104260
-
Dan Gohman authored
llvm-svn: 104234
-
Dan Gohman authored
llvm-svn: 104232
-
Dan Gohman authored
and fix a bug that valgrind noticed where the code would std::swap an element with itself. llvm-svn: 104225
-
Dan Gohman authored
the addressing modes don't make this trivially easy. This allows it to avoid falling into the less precise heuristics in more cases. llvm-svn: 104186
-
- May 19, 2010
-
-
Dan Gohman authored
llvm-svn: 104089
-
Dan Gohman authored
constants in registers which partially cancel out their immediate fields. llvm-svn: 104088
-
Dan Gohman authored
of its formulae have been removed into a helper function, and also teach it how to update the RegUseTracker. llvm-svn: 104087
-
Dan Gohman authored
function. llvm-svn: 104082
-
Dan Gohman authored
llvm-svn: 104080
-
Dan Gohman authored
a helper function. llvm-svn: 104079
-
Dan Gohman authored
llvm-svn: 104078
-
Dan Gohman authored
is inconsistent with the BaseRegs field. It's not print's job to assert on an invalid condition, but it can make one more obvious. llvm-svn: 104077
-
Dan Gohman authored
confusion with LSRInstance's RegUses member. llvm-svn: 104076
-
- May 11, 2010
-
-
Douglas Gregor authored
llvm-svn: 103457
-
- May 09, 2010
-
-
Chris Lattner authored
when it detects undefined behavior. llvm.trap generally codegens into some thing really small (e.g. a 2 byte ud2 instruction on x86) and debugging this sort of thing is "nontrivial". For example, we now compile: void foo() { *(int*)0 = 42; } into: _foo: pushl %ebp movl %esp, %ebp ud2 Some may even claim that this is a security hole, though that seems dubious to me. This addresses rdar://7958343 - Optimizing away null dereference potentially allows arbitrary code execution llvm-svn: 103356
-
- May 08, 2010
-
-
Chris Lattner authored
llvm-svn: 103347
-
Dan Gohman authored
LSRUse's Regs set after all pruning is done, rather than trying to do it on the fly, which can produce an incomplete result. This fixes a case where heuristic pruning was stripping all formulae from a use, which led the solver to enter an infinite loop. Also, add a few asserts to diagnose this kind of situation. llvm-svn: 103328
-
- May 07, 2010
-
-
Ted Kremenek authored
llvm-svn: 103266
-
Dan Gohman authored
as MachineSink, but it isn't constrained by MachineInstr-level details. llvm-svn: 103257
-
- May 05, 2010
-
-
Bob Wilson authored
This fixes the compile-time regressions seen in last night's tests. llvm-svn: 103118
-
- May 04, 2010
-
-
Bob Wilson authored
indirect branches in all the predecessors. This avoids unnecessarily splitting edges in cases where load PRE is not possible anyway. Thanks to Jakub Staszak for pointing this out. llvm-svn: 103034
-
Dan Gohman authored
same, now that getConstant has overloads consistent with ConstantInt::get. llvm-svn: 102965
-
- May 03, 2010
-
-
Devang Patel authored
Patch by Jakub Staszak! llvm-svn: 102928
-
- Apr 26, 2010
-
-
Chris Lattner authored
llvm-svn: 102358
-