- Mar 30, 2009
-
-
Evan Cheng authored
Turn a 2-address instruction into a 3-address one when it's profitable even if the two-address operand is killed. e.g. %reg1024<def> = MOV r1 %reg1025<def> = ADD %reg1024, %reg1026 r0 = MOV %reg1025 If it's not possible / profitable to commute ADD, then turning ADD into a LEA saves a copy. llvm-svn: 68065
-
Bill Wendling authored
llvm-svn: 68059
-
Bill Wendling authored
llvm-svn: 68057
-
Dan Gohman authored
llvm-svn: 68054
-
Bob Wilson authored
llvm-svn: 68050
-
Devang Patel authored
Walking an invalidated iterator is not a good idea. llvm-svn: 68047
-
Anton Korobeynikov authored
llvm-svn: 68036
-
Anton Korobeynikov authored
llvm-svn: 68034
-
Anton Korobeynikov authored
llvm-svn: 68033
-
Anton Korobeynikov authored
Do not propagate ELF-specific stuff (data.rel) into other targets. This simplifies code and also ensures correctness. llvm-svn: 68032
-
Anton Korobeynikov authored
llvm-svn: 68031
-
- Mar 29, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 68007
-
Anton Korobeynikov authored
llvm-svn: 68006
-
Anton Korobeynikov authored
llvm-svn: 68005
-
Anton Korobeynikov authored
Extend the relocation tracker handler, so we can filter on different 'kinds' of relocations required. llvm-svn: 68004
-
Duncan Sands authored
when using -soft-float. Based on a patch by Jakob Stoklund Olesen. llvm-svn: 67996
-
Chris Lattner authored
hackish workarounds from memdep llvm-svn: 67971
-
- Mar 28, 2009
-
-
Chris Lattner authored
llvm-svn: 67953
-
Rafael Espindola authored
llvm-svn: 67950
-
Rafael Espindola authored
llvm-svn: 67949
-
Rafael Espindola authored
of operands in an address in so many places. llvm-svn: 67945
-
Arnold Schwaighofer authored
a CALL and a RET node more generic. Add a test for tail calls with a void return. llvm-svn: 67943
-
Arnold Schwaighofer authored
Enable tail call optimization for functions that return a struct (bug 3664) and for functions that return types that need extending (e.g i1). llvm-svn: 67934
-
Evan Cheng authored
Optimize some 64-bit multiplication by constants into two lea's or one lea + shl since imulq is slow (latency 5). e.g. x * 40 => shlq $3, %rdi leaq (%rdi,%rdi,4), %rax This has the added benefit of allowing more multiply to be folded into addressing mode. e.g. a * 24 + b => leaq (%rdi,%rdi,2), %rax leaq (%rsi,%rax,8), %rax llvm-svn: 67917
-
Chris Lattner authored
llvm-svn: 67892
-
Dan Gohman authored
llvm-svn: 67881
-
Dan Gohman authored
default constructor produces an uninitialized APInt. This fixes PR3896. llvm-svn: 67879
-
Jim Grosbach authored
llvm-svn: 67874
-
- Mar 27, 2009
-
-
Gabor Greif authored
llvm-svn: 67872
-
Rafael Espindola authored
llvm-svn: 67848
-
Rafael Espindola authored
llvm-svn: 67846
-
Rafael Espindola authored
improve TLS support (see http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090309/075220.html), but that code is VERY brittle. This patch just makes it a bit more resistant. llvm-svn: 67843
-
Duncan Sands authored
a miscompilation. make[4]: Entering directory `gcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/include' if [ ! -d "./x86_64-unknown-linux-gnu/bits/stdtr1c++.h.gch" ]; then \ mkdir -p ./x86_64-unknown-linux-gnu/bits/stdtr1c++.h.gch; \ fi; \ gcc-4.2.llvm-objects/./gcc/xgcc -shared-libgcc -Bgcc-4.2.llvm-objects/./gcc -nostdinc++ -Lgcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/src -Lgcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -B/usr/local/gnat-llvm/x86_64-unknown-linux-gnu/bin/ -B/usr/local/gnat-llvm/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/gnat-llvm/x86_64-unknown-linux-gnu/include -isystem /usr/local/gnat-llvm/x86_64-unknown-linux-gnu/sys-include -Winvalid-pch -Wno-deprecated -x c++-header -g -O2 -D_GNU_SOURCE -Igcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu -Igcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/include -Igcc-4.2.llvm/libstdc++-v3/libsupc++ -O2 -g gcc-4.2.llvm/libstdc++-v3/include/precompiled/stdtr1c++.h -o x86_64-unknown-linux-gnu/bits/stdtr1c++.h.gch/O2g.gch In file included from gcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/include/tr1/repeat.h:247, from gcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/include/tr1/functional:1098, from gcc-4.2.llvm/libstdc++-v3/include/precompiled/stdtr1c++.h:53: gcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/include/tr1/functional_iterate.h:417: internal compiler error: in ggc_recalculate_in_use_p, at ggc-page.c:1602 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://llvm.org/bugs/> for instructions. make[4]: *** [x86_64-unknown-linux-gnu/bits/stdtr1c++.h.gch/O2g.gch] Error 1 llvm-svn: 67839
-
Mikhail Glushenkov authored
Makes it possible to set the output file name. llvm-svn: 67835
-
John Mosby authored
llvm-svn: 67828
-
Dale Johannesen authored
llvm-svn: 67811
-
Devang Patel authored
llvm-svn: 67798
-
Evan Cheng authored
llvm-svn: 67784
-
- Mar 26, 2009
-
-
Mikhail Glushenkov authored
Detailed bug report: http://llvm.org/bugs/show_bug.cgi?id=3873 llvm-svn: 67768
-
Evan Cheng authored
llvm-svn: 67765
-