- Dec 19, 2011
-
-
Akira Hatanaka authored
llvm-svn: 146896
-
Jim Grosbach authored
rdar://10602276 llvm-svn: 146895
-
Akira Hatanaka authored
direct-object emitter should emit the appropriate shift instruction depending on the shift amount. llvm-svn: 146893
-
Jim Grosbach authored
llvm-svn: 146892
-
Akira Hatanaka authored
llvm-svn: 146889
-
Akira Hatanaka authored
This change reduces the number of instructions generated. For example, (load (add (sub $n0, $n1), (MipsLo got(s)))) results in the following sequence of instructions: 1. sub $n2, $n0, $n1 2. lw got(s)($n2) Previously, three instructions were needed. 1. sub $n2, $n0, $n1 2. addiu $n3, $n2, got(s) 3. lw 0($n3) llvm-svn: 146888
-
Jim Grosbach authored
llvm-svn: 146887
-
Jim Grosbach authored
llvm-svn: 146885
-
Jim Grosbach authored
There's more variation that we need to handle. Error checking will need to be on operand predicates. llvm-svn: 146884
-
Jim Grosbach authored
llvm-svn: 146882
-
Jakob Stoklund Olesen authored
Add the new TableGen register class synthesizer feature to the release notes. llvm-svn: 146875
-
Jakob Stoklund Olesen authored
Now that getMatchingSuperRegClass() returns accurate results, it can be used to compute constraints imposed by instructions using a sub-register of a virtual register. This means we can recompute the register class of any virtual register by combining the constraints from all its uses. llvm-svn: 146874
-
Jakob Stoklund Olesen authored
Use information computed while inferring new register classes to emit accurate, table-driven implementations of getMatchingSuperRegClass(). Delete the old manual, error-prone implementations in the targets. llvm-svn: 146873
-
Jakob Stoklund Olesen authored
Teach TableGen to create the missing register classes needed for getMatchingSuperRegClass() to return maximal results. The function is still not auto-generated, so it still returns inexact results. This produces these new register classes: ARM: QQPR_with_dsub_0_in_DPR_8 QQQQPR_with_dsub_0_in_DPR_8 X86: GR64_with_sub_32bit_in_GR32_NOAX GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOSP GR64_with_sub_16bit_in_GR16_NOREX GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX_NOSP GR64_TCW64_and_GR64_with_sub_32bit_in_GR32_NOAX GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX GR64_with_sub_32bit_in_GR32_TC GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_NOAX GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_TC GR64_with_sub_32bit_in_GR32_AD GR64_with_sub_32bit_in_GR32_AD_and_GR32_NOAX The other targets in the tree are not weird enough to be affected. llvm-svn: 146872
-
Manuel Klimek authored
llvm-svn: 146864
-
Manuel Klimek authored
llvm-svn: 146863
-
- Dec 18, 2011
-
-
Jakub Staszak authored
- Remove trailing spaces. llvm-svn: 146854
-
Benjamin Kramer authored
llvm-svn: 146852
-
Joerg Sonnenberger authored
attribute themselve. llvm-svn: 146851
-
Benjamin Kramer authored
Some compilers were complaining about passing StringRef to it. llvm-svn: 146850
-
Dylan Noblesmith authored
And fix the double-[]. It was including the [] as part of the project name somehow, resulting in PACKAGE_TARNAME "-llvm-" and a strange docdir default: ./configure --help | grep docdir --docdir=DIR documentation root [DATAROOTDIR/doc/-llvm-] llvm-svn: 146849
-
Benjamin Kramer authored
llvm-svn: 146846
-
- Dec 17, 2011
-
-
Chad Rosier authored
internal nightly testers. Original commit message: By popular demand, link up types by name if they are isomorphic and one is an autorenamed version of the other. This makes the IR easier to read, because we don't end up with random renamed versions of the types after LTO'ing a large app. llvm-svn: 146838
-
Kevin Enderby authored
Hope I did this correctly :) llvm-svn: 146834
-
Craig Topper authored
llvm-svn: 146833
-
Benjamin Kramer authored
llvm-svn: 146831
-
Chandler Carruth authored
make VariadicFunction actually be trivial. Do so, and also make it look more like your standard trivial functor by making it a struct with no access specifiers. The unit test is updated to initialize its functors properly. llvm-svn: 146827
-
Pete Cooper authored
SimplifyCFG now predicts some conditional branches to true or false depending on previous branch on same comparison operands. For example, if (a == b) { if (a > b) // this is false Fixes some of the issues on <rdar://problem/10554090> llvm-svn: 146822
-
Manuel Klimek authored
llvm-svn: 146821
-
Evan Cheng authored
llvm-svn: 146805
-
Pete Cooper authored
This will be used by SimplifyCfg in a later commit. llvm-svn: 146803
-
Rafael Espindola authored
asm parsing and testcase. llvm-svn: 146801
-
Lang Hames authored
llvm-svn: 146800
-
Jakob Stoklund Olesen authored
I don't think this affects anything but verbose assembly. llvm-svn: 146787
-
Dan Gohman authored
"half precision" floating-point with a first-class type. This patch adds basic IR support (but not codegen support). llvm-svn: 146786
-
Eric Christopher authored
pointer or a reference type - we actually just want the size of the pointer then for that. Fixes rdar://10335756 llvm-svn: 146785
-
Eric Christopher authored
llvm-svn: 146784
-
Eric Christopher authored
llvm-svn: 146783
-
Eric Christopher authored
llvm-svn: 146782
-
Eric Christopher authored
llvm-svn: 146781
-