- May 25, 2010
-
-
Dan Gohman authored
llvm-svn: 104644
-
- 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
-
Devang Patel authored
llvm-svn: 104236
-
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 15, 2010
-
-
Nick Lewycky authored
inliner did in r103653. Why does the always inliner even bother with cost estimates anyways? llvm-svn: 103858
-
Nick Lewycky authored
llvm-svn: 103857
-
- May 13, 2010
-
-
Nick Lewycky authored
llvm-svn: 103700
-
Nick Lewycky authored
vector<>::push_back() in: int foo(vector<int> &a, vector<unsigned> &b) { a.push_back(10); b.push_back(11); } to two calls to the same push_back function, or fold away the two copies of push_back() in: struct T { int; }; struct S { char; }; vector<T*> t; vector<S*> s; void f(T *x) { t.push_back(x); } void g(S *x) { s.push_back(x); } but leave f() and g() separate, since they refer to two different global variables. llvm-svn: 103698
-
- May 12, 2010
-
-
Nick Lewycky authored
on RAUW of functions, this is a correctness issue instead of a mere memory usage problem. No testcase until the new MergeFunctions can land. llvm-svn: 103653
-
- May 11, 2010
-
-
Duncan Sands authored
to LLVM_LIBRARY_VISIBILITY and introduce LLVM_GLOBAL_VISIBILITY, which is the opposite, for future use by dragonegg. llvm-svn: 103495
-
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
with a vector input and output into a shuffle vector. This sort of sequence happens when the input code stores with one type and reloads with another type and then SROA promotes to i96 integers, which make everyone sad. This fixes rdar://7896024 llvm-svn: 103354
-
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
-
-
Devang Patel authored
llvm-svn: 103295
-
Devang Patel authored
llvm-svn: 103276
-
Ted Kremenek authored
llvm-svn: 103266
-