- Jun 13, 2011
-
-
Cameron Zwarich authored
llvm-svn: 132936
-
Jim Grosbach authored
The logic for reserving R4 for use as a scratch needs to match that for actually using it. Also, it's not necessary for immediate <=508, so adjust the value checked. llvm-svn: 132934
-
Evan Cheng authored
Aliased flag options should be directed to stdout, not stderr to be consistent. Patch by Julien Lerouge. llvm-svn: 132931
-
Bill Wendling authored
<rdar://problem/9600408> llvm-svn: 132929
-
Stuart Hastings authored
might overflow. Re-typing the alloca to a larger type (e.g. double) hoists a shift into the alloca, potentially exposing overflow in the expression. rdar://problem/9265821 llvm-svn: 132926
-
Benjamin Kramer authored
llvm-svn: 132925
-
Nadav Rotem authored
only if the number of packed elements is a power of two. Bug found in Duncan's testcase. llvm-svn: 132923
-
Chris Lattner authored
llvm-svn: 132916
-
Benjamin Kramer authored
The backend already knew this trick. llvm-svn: 132915
-
Benjamin Kramer authored
llvm-svn: 132914
-
Michael J. Spencer authored
llvm-svn: 132913
-
Michael J. Spencer authored
llvm-svn: 132912
-
Michael J. Spencer authored
llvm-svn: 132911
-
Michael J. Spencer authored
llvm-svn: 132910
-
Michael J. Spencer authored
llvm-svn: 132909
-
Michael J. Spencer authored
llvm-svn: 132908
-
Nick Lewycky authored
intrinsics. In fact, we'll optimize a bitcast to that when possible. Detect it when looking for the lifetime intrinsics. No test case, noticed by inspection. llvm-svn: 132906
-
Jakob Stoklund Olesen authored
In particular, don't spill dirty registers only to satisfy a hint. It is not worth it. The attached test case provides an example where the fast allocator would spill a register when other registers are available. llvm-svn: 132900
-
Jakob Stoklund Olesen authored
llvm-svn: 132899
-
Rafael Espindola authored
having. llvm-svn: 132898
-
Benjamin Kramer authored
InstCombine: Shrink ((zext X) & C1) == C2 to fold away the cast if the "zext" and the "and" have one use. llvm-svn: 132897
-
Benjamin Kramer authored
llvm-svn: 132896
-
- Jun 12, 2011
-
-
Benjamin Kramer authored
Only 163 days late! llvm-svn: 132895
-
Nadav Rotem authored
types such as i33 were rounded to i32. Originated from Duncan's testcase. llvm-svn: 132893
-
Nadav Rotem authored
Instead of scalarizing, and doing an element-by-element truncat, use vector truncate. Add support for scalarization of vectors: i8 -> <1 x i1> (from Duncan's testcase). llvm-svn: 132892
-
Nadav Rotem authored
element type is found. This fix addresses some of the tests in Duncan's testcase (forthcoming). llvm-svn: 132891
-
Jakob Stoklund Olesen authored
Make the hash tables as small as possible while ensuring that all lookups can be done in less than 8 probes. Cut the aliases hash table in half by only storing a < b pairs - it is a symmetric relation. Use larger multipliers on the initial hash function to ensure that it properly covers the whole table, and to resolve some clustering in the very regular ARM register bank. This reduces the size of most of these tables by 4x - 8x. For instance, the ARM tables shrink from 48 KB to 8 KB. llvm-svn: 132888
-
Jakob Stoklund Olesen authored
These computations have been moved to CodeGenRegisters.cpp. llvm-svn: 132887
-
Jakob Stoklund Olesen authored
The constant hash tables for sub-registers and overlaps are generated the same way, so extract a function to generate and print the hash table. Also use the information computed by CodeGenRegisters.cpp instead of the locally data. llvm-svn: 132886
-
Rafael Espindola authored
Add a triple to the tests. llvm-svn: 132885
-
Rafael Espindola authored
llvm-svn: 132884
-
Rafael Espindola authored
llvm-svn: 132883
-
Rafael Espindola authored
we try to branch to them. Before we were creating successor lists with duplicated entries. Fixing that found a bug in isBlockOnlyReachableByFallthrough that would causes it to return the wrong answer for ----------- ... jne foo jmp bar foo: ---------- llvm-svn: 132882
-
Jakob Stoklund Olesen authored
Besides moving structural computations to CodeGenRegisters.cpp, this also well-defines the order of these lists: - Sub-register lists come from a pre-order traversal of the graph defined by the SubRegs lists in the .td files. - Super-register lists are topologically ordered so no register comes before any of its sub-registers. When the sub-register graph is not a tree, independent super-registers appear in numerical order. - Lists of overlapping registers are ordered according to register number. This reverses the order of the super-regs lists, but nobody was depending on that. The previous order of the overlaps lists was odd, and it may have depended on the precise behavior of std::stable_sort. The old computations are still there, but will be removed shortly. llvm-svn: 132881
-
Charles Davis authored
functionality change. Later on, we'll use the flag to emit SEH pseudo-ops that describe how the call frame was built. llvm-svn: 132880
-
- Jun 11, 2011
-
-
Bill Wendling authored
llvm-svn: 132876
-
Chad Rosier authored
llvm-svn: 132872
-
Chad Rosier authored
llvm-svn: 132871
-
Eli Friedman authored
memcpy/memset symbol doesn't get marked up correctly in PIC modes otherwise. Should fix llvm-x86_64-linux-checks buildbot. Followup to r132864. llvm-svn: 132869
-
Andrew Trick authored
Patch by: Jakub Staszak! Introduces BranchProbability. Changes unsigned to uint32_t all over and uint64_t only when overflow is expected. llvm-svn: 132867
-