- Jun 12, 2011
-
-
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
-
Jakob Stoklund Olesen authored
Also move the sub-register index computations from RegisterInfoEmitter into CodeGenRegBank. llvm-svn: 132865
-
Eli Friedman authored
rdar://9431466 llvm-svn: 132864
-
Eric Christopher authored
llvm-svn: 132863
-
Dan Gohman authored
default, since it usually has very few elements. This speeds up alias queries in many cases, because AliasCache.clear() doesn't have to visit as many buckets. llvm-svn: 132862
-
- Jun 10, 2011
-
-
Bill Wendling authored
<rdar://problem/9583891> llvm-svn: 132860
-
Rafael Espindola authored
llvm-svn: 132857
-
Cameron Zwarich authored
CallOrPrologue correctly and eliminate the existing setter. llvm-svn: 132856
-
Cameron Zwarich authored
comment on their meaning. llvm-svn: 132854
-
Cameron Zwarich authored
llvm-svn: 132853
-
Cameron Zwarich authored
llvm-svn: 132852
-
Rafael Espindola authored
Thanks Bob Wilson for noticing it! llvm-svn: 132851
-
Jakob Stoklund Olesen authored
Create a new CodeGenRegBank class that will eventually hold all the code that computes the register structure from Records. llvm-svn: 132849
-
Richard Osborne authored
llvm-svn: 132844
-
Eli Friedman authored
llvm-svn: 132839
-
Galina Kistanova authored
llvm-svn: 132836
-
Galina Kistanova authored
llvm-svn: 132834
-
Chad Rosier authored
llvm-svn: 132830
-
Eli Friedman authored
PR10092 (second try): Don't crash on a load without a momoperand; fast-isel creates loads like this. llvm-svn: 132826
-
Chad Rosier authored
and definitions when emitting global variables. This was causing global declarations to be emitted as if they were definitions. Fixes <rdar://problem/9429892>. llvm-svn: 132825
-
Eli Friedman authored
llvm-svn: 132824
-
Rafael Espindola authored
llvm-svn: 132822
-
Rafael Espindola authored
llvm-svn: 132821
-
Rafael Espindola authored
With this I am able to bootstrap clang with early tail duplication enabled for any small bb and setting tail-dup-size to a relatively large value(8) to stress this code. llvm-svn: 132816
-