- Mar 31, 2009
-
-
Evan Cheng authored
llvm-svn: 68133
-
Dan Gohman authored
entered via fall-through. Don't miss fallthroughs from blocks terminated by conditional branches. Also, move isOnlyReachableByFallthrough out of line. llvm-svn: 68129
-
Rafael Espindola authored
llvm-svn: 68109
-
Bill Wendling authored
llvm-svn: 68100
-
Bill Wendling authored
llvm-svn: 68099
-
Bill Wendling authored
llvm-svn: 68092
-
Evan Cheng authored
X86 address mode isel tweak. If the base of the address is also used by a CopyToReg (i.e. it's likely live-out), do not fold the sub-expressions into the addressing mode to avoid computing the address twice. The CopyToReg use will be isel'ed to a LEA, re-use it for address instead. This is not yet enabled. llvm-svn: 68082
-
Dan Gohman authored
only reachable via fall-through edges. This dramatically reduces the number of labels printed, and thus also the number of labels the assembler must parse and remember. llvm-svn: 68073
-
- Mar 30, 2009
-
-
Evan Cheng authored
When optimzing a mul by immediate into two, the resulting mul's should get a x86 specific node to avoid dag combiner from hacking on them further. llvm-svn: 68066
-
Bob Wilson authored
llvm-svn: 68050
-
Anton Korobeynikov authored
llvm-svn: 68036
-
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
-
- 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
-
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
-
Jim Grosbach authored
llvm-svn: 67874
-
- Mar 27, 2009
-
-
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
-
Evan Cheng authored
llvm-svn: 67784
-
- Mar 26, 2009
-
-
Evan Cheng authored
llvm-svn: 67765
-
Bill Wendling authored
llvm-svn: 67742
-
Chris Lattner authored
llvm-svn: 67739
-
Chris Lattner authored
llvm-svn: 67738
-
Chris Lattner authored
llvm-svn: 67737
-
Chris Lattner authored
llvm-svn: 67736
-
Bill Wendling authored
%a = ... %b = and i32 %a, 2 %c = srl i32 %b, 1 %d = br i32 %c, into %a = ... %b = and %a, 2 %c = X86ISD::CMP %b, 0 %d = X86ISD::BRCOND %c ... This applies only when the AND constant value has one bit set and the SRL constant is equal to the log2 of the AND constant. The back-end is smart enough to convert the result into a TEST/JMP sequence. llvm-svn: 67728
-
Bill Wendling authored
llvm-svn: 67727
-
- Mar 25, 2009
-
-
Gabor Greif authored
llvm-svn: 67681
-
Evan Cheng authored
llvm-svn: 67668
-
Evan Cheng authored
llvm-svn: 67667
-
- Mar 24, 2009
-
-
Dan Gohman authored
to be returned in DL. LLVM's multiple-return-value support is not ABI-conforming; front-ends that wish to have code emitted that conforms to an ABI are currently expected to make arrangements for this on their own rather than assuming that multiple-return-values will automatically do the right thing. This commit doesn't fundamentally change this situation. llvm-svn: 67588
-
Evan Cheng authored
llvm-svn: 67580
-
- Mar 23, 2009
-
-
Dale Johannesen authored
same as a normal i80 {low64, high16} rather than its own {high64, low16}. A depressing number of places know about this; I think I got them all. Bitcode readers and writers convert back to the old form to avoid breaking compatibility. llvm-svn: 67562
-