- Jan 30, 2011
-
-
Benjamin Kramer authored
Teach DAGCombine to fold fold (sra (trunc (sr x, c1)), c2) -> (trunc (sra x, c1+c2) when c1 equals the amount of bits that are truncated off. This happens all the time when a smul is promoted to a larger type. On x86-64 we now compile "int test(int x) { return x/10; }" into movslq %edi, %rax imulq $1717986919, %rax, %rax movq %rax, %rcx shrq $63, %rcx sarq $34, %rax <- used to be "shrq $32, %rax; sarl $2, %eax" addl %ecx, %eax This fires 96 times in gcc.c on x86-64. llvm-svn: 124559
-
- Jan 28, 2011
-
-
Bob Wilson authored
Patch by Jyun-Yan You. llvm-svn: 124492
-
Evan Cheng authored
llvm-svn: 124458
-
Kevin Enderby authored
only .syntax unified is supported. llvm-svn: 124454
-
- Jan 27, 2011
-
-
David Greene authored
[AVX] Clean up the code to configure target lowering for AVX. Specify how to lower more/new operations. This is a prerequisite for adding additional AVX lowering. llvm-svn: 124447
-
Roman Divacky authored
Create override of this method in X86/ARM/MBlaze. llvm-svn: 124378
-
Eric Christopher authored
if we can store a value. Also, the exclusion is or, not and. Fixes rdar://8920247. llvm-svn: 124357
-
NAKAMURA Takumi authored
CALL64 marks %xmm* as dead. llvm-svn: 124354
-
- Jan 26, 2011
-
-
Bill Wendling authored
parser. The parser will always give us a binary representation of the floating point number. llvm-svn: 124318
-
David Greene authored
[AVX] Add INSERT_SUBVECTOR and support it on x86. This provides a default implementation for x86, going through the stack in a similr fashion to how the codegen implements BUILD_VECTOR. Eventually this will get matched to VINSERTF128 if AVX is available. llvm-svn: 124307
-
David Greene authored
[AVX] Support EXTRACT_SUBVECTOR on x86. This provides a default implementation of EXTRACT_SUBVECTOR for x86, going through the stack in a similr fashion to how the codegen implements BUILD_VECTOR. Eventually this will get matched to VEXTRACTF128 if AVX is available. llvm-svn: 124292
-
Bruno Cardoso Lopes authored
llvm-svn: 124288
-
Bill Wendling authored
llvm-svn: 124273
-
NAKAMURA Takumi authored
llvm-svn: 124272
-
NAKAMURA Takumi authored
llvm-svn: 124270
-
NAKAMURA Takumi authored
llvm-svn: 124268
-
NAKAMURA Takumi authored
llvm-svn: 124267
-
- Jan 25, 2011
-
-
Bill Wendling authored
llvm-svn: 124233
-
Bill Wendling authored
appropriately so that it prints out the decimal representation. llvm-svn: 124230
-
Evan Cheng authored
llvm-svn: 124167
-
- Jan 24, 2011
-
-
Anton Korobeynikov authored
llvm-svn: 124151
-
Chris Lattner authored
llvm-svn: 124102
-
Chris Lattner authored
llvm-svn: 124097
-
Chris Lattner authored
define i32 @foo(i32 %x) nounwind readnone ssp { entry: %tobool = icmp eq i32 %x, 0 %tmp5 = select i1 %tobool, i32 2, i32 1 ret i32 %tmp5 } llvm-svn: 124091
-
- Jan 23, 2011
-
-
Anders Carlsson authored
llvm-svn: 124082
-
Rafael Espindola authored
llvm-svn: 124079
-
Rafael Espindola authored
llvm-svn: 124077
-
Ted Kremenek authored
clang's -Wuninitialized-experimental warning. While these don't look like real bugs, clang's -Wuninitialized-experimental analysis is stricter than GCC's, and these fixes have the benefit of being general nice cleanups. llvm-svn: 124073
-
Rafael Espindola authored
Add support for SHT_X86_64_UNWIND. llvm-svn: 124059
-
Rafael Espindola authored
llvm-svn: 124056
-
Rafael Espindola authored
llvm-svn: 124054
-
- Jan 22, 2011
-
-
Venkatraman Govindaraju authored
Pass sret arguments through the stack instead of through registers in Sparc backend. It makes the code generated more compliant with the sparc32 ABI. llvm-svn: 124030
-
Venkatraman Govindaraju authored
llvm-svn: 124027
-
- Jan 21, 2011
-
-
Venkatraman Govindaraju authored
Rename FLUSH to FLUSHW. Output "ta 3" instead of a "flushw" instruction if v8 instruction set is used. llvm-svn: 123997
-
Evan Cheng authored
1. Fixed ARM pc adjustment. 2. Fixed dynamic-no-pic codegen 3. CSE of pc-relative load of global addresses. It's now enabled by default for Darwin. llvm-svn: 123991
-
Bruno Cardoso Lopes authored
qadd and qdadd uses "rd, rm, rn", the same applies to the 'sub' variants. This is described in ARM manuals and matches the encoding used by the gnu assembler. llvm-svn: 123975
-
Venkatraman Govindaraju authored
llvm-svn: 123974
-
Andrew Trick authored
flags. They are still not enable in this revision. Added TargetInstrInfo::isZeroCost() to fix a fundamental problem with the scheduler's model of operand latency in the selection DAG. Generalized unit tests to work with sched-cycles. llvm-svn: 123969
-
Evan Cheng authored
value, the "add pc" must be CSE'ed at the same time. We could follow the same approach as T2 by adding pseudo instructions that combine the ldr + "add pc". But the better approach is to use movw + movt (which I will enable soon), so I'll leave this as a TODO. llvm-svn: 123949
-
- Jan 20, 2011
-
-
Bruno Cardoso Lopes authored
llvm-svn: 123936
-