- May 04, 2009
-
-
Chris Lattner authored
ThreadEdge directly. This shares the code, but is just a refactoring. * Make JumpThreading compute the set of loop headers and avoid threading across them. This prevents jump threading from forming irreducible loops (goodness) but also prevents it from threading in other cases that are beneficial (see the comment above FindFunctionBackedges). llvm-svn: 70820
-
Chris Lattner authored
FindFunctionBackedges function. llvm-svn: 70819
-
Chris Lattner authored
llvm-svn: 70817
-
Evan Cheng authored
The stack slots which share the same stack slot after coloring can, but do not have to, use the same register. In fact, they each may have different register class requirements. llvm-svn: 70815
-
Argyrios Kyrtzidis authored
llvm-svn: 70811
-
Argyrios Kyrtzidis authored
llvm-svn: 70804
-
Argyrios Kyrtzidis authored
-Depend on DebugLocs for source line info. llvm-svn: 70803
-
- May 03, 2009
-
-
Evan Cheng authored
llvm-svn: 70792
-
Chris Lattner authored
is the empty set. :) Thanks to Fritz for pointing this out. llvm-svn: 70790
-
Chris Lattner authored
throw exceptions. llvm-svn: 70788
-
Evan Cheng authored
In some rare cases, the register allocator can spill registers but end up not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However, reloads and restores might be folded into uses / defs and freed registers might not be used at all. VirtRegMap keeps track of allocations so it knows what's not used. As a horrible hack, the stack coloring can color spill slots with *free* registers. That is, it replace reload and spills with copies from and to the free register. It unfold instructions that load and store the spill slot and replace them with register using variants. Not yet enabled. This is part 1. More coming. llvm-svn: 70787
-
Anton Korobeynikov authored
Thanks for Dan Gohman for suggestion! llvm-svn: 70782
-
Anton Korobeynikov authored
llvm-svn: 70772
-
Anton Korobeynikov authored
llvm-svn: 70770
-
Anton Korobeynikov authored
llvm-svn: 70769
-
Anton Korobeynikov authored
llvm-svn: 70768
-
Anton Korobeynikov authored
llvm-svn: 70767
-
Anton Korobeynikov authored
Temporary disable imm patterns for cmp. Actually, all cmp-related stuff (select_cc, setcc, br_cc). needs to be rethought llvm-svn: 70766
-
Anton Korobeynikov authored
llvm-svn: 70765
-
Anton Korobeynikov authored
llvm-svn: 70764
-
Anton Korobeynikov authored
llvm-svn: 70763
-
Anton Korobeynikov authored
llvm-svn: 70762
-
Anton Korobeynikov authored
llvm-svn: 70761
-
Anton Korobeynikov authored
llvm-svn: 70760
-
Anton Korobeynikov authored
llvm-svn: 70759
-
Anton Korobeynikov authored
llvm-svn: 70758
-
Anton Korobeynikov authored
llvm-svn: 70757
-
Anton Korobeynikov authored
llvm-svn: 70755
-
Anton Korobeynikov authored
llvm-svn: 70754
-
Anton Korobeynikov authored
llvm-svn: 70753
-
Anton Korobeynikov authored
llvm-svn: 70752
-
Anton Korobeynikov authored
llvm-svn: 70751
-
Anton Korobeynikov authored
llvm-svn: 70750
-
Anton Korobeynikov authored
llvm-svn: 70749
-
Anton Korobeynikov authored
llvm-svn: 70748
-
Anton Korobeynikov authored
llvm-svn: 70747
-
Anton Korobeynikov authored
llvm-svn: 70746
-
Anton Korobeynikov authored
It's error-prone to maintain two separate variants of asmprinting stuff, one of which is even used. Drop second (aka 'intel') variant of operands. It can be added later, if needed. llvm-svn: 70745
-
Anton Korobeynikov authored
llvm-svn: 70744
-
Anton Korobeynikov authored
llvm-svn: 70743
-