- Jan 24, 2011
-
-
Dan Gohman authored
with BasicAA's DecomposeGEPExpression, which recently began using a TargetData. This fixes PR8968, though the testcase is awkward to reduce. Also, update several off GetUnderlyingObject's users which happen to have a TargetData handy to pass it in. llvm-svn: 124134
-
Chris Lattner authored
llvm-svn: 124132
-
Rafael Espindola authored
* If the name is a single string, we remove the quotes * If the name starts without a quote, we include any quotes in the name llvm-svn: 124127
-
Dan Gohman authored
llvm-svn: 124126
-
Daniel Dunbar authored
llvm-svn: 124124
-
Chris Lattner authored
llvm-svn: 124102
-
Chris Lattner authored
code. llvm-svn: 124100
-
Chris Lattner authored
llvm-svn: 124099
-
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
-
Chris Lattner authored
occurs because instcombine sinks loads and inserts phis. This kicks in on such apps as 175.vpr, eon, 403.gcc, xalancbmk and a bunch of times in spec2006 in some app that uses std::deque. This resolves the last of rdar://7339113. llvm-svn: 124090
-
- Jan 23, 2011
-
-
Chris Lattner authored
common cases. This triggers a surprising number of times in SPEC2K6 because min/max idioms end up doing this. For example, code from the STL ends up looking like this to SRoA: %202 = load i64* %__old_size, align 8, !tbaa !3 %203 = load i64* %__old_size, align 8, !tbaa !3 %204 = load i64* %__n, align 8, !tbaa !3 %205 = icmp ult i64 %203, %204 %storemerge.i = select i1 %205, i64* %__n, i64* %__old_size %206 = load i64* %storemerge.i, align 8, !tbaa !3 We can now promote both the __n and the __old_size allocas. This addresses another chunk of rdar://7339113, poor codegen on stringswitch. llvm-svn: 124088
-
Chris Lattner authored
dereferencable, noticed by inspection. llvm-svn: 124085
-
Anders Carlsson authored
llvm-svn: 124082
-
Nick Lewycky authored
robust against smarter optimizations, using the power of FileCheck. llvm-svn: 124081
-
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
llvm-svn: 124071
-
Chris Lattner authored
that have PHI or select uses of their element pointers. This can often happen when instcombine sinks two loads into a successor, inserting a phi or select. With this patch, we can scalarize the alloca, but the pinned elements are not yet promoted. This is still a win for large aggregates where only one element is used. This fixes rdar://8904039 and part of rdar://7339113 (poor codegen on stringswitch). llvm-svn: 124070
-
Cameron Zwarich authored
on test-suite + SPEC2000 & SPEC2006. llvm-svn: 124068
-
Chris Lattner authored
No functionality change. llvm-svn: 124067
-
Chris Lattner authored
handle the "Transformation preventing inst" printing, so that -scalarrepl -debug will always print the rejected instruction. No functionality change. llvm-svn: 124066
-
Chris Lattner authored
X86 backend has been fixed. llvm-svn: 124064
-
Nick Lewycky authored
llvm-svn: 124062
-
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
-
-
Nick Lewycky authored
"make check" alone. llvm-svn: 124046
-
Eric Christopher authored
that we can change from indirect to direct. llvm-svn: 124045
-
Eric Christopher authored
target function. Fixes part of rdar://8546196 llvm-svn: 124044
-
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
-
-
Dan Gohman authored
how they should be checked. llvm-svn: 123999
-
Venkatraman Govindaraju authored
Rename FLUSH to FLUSHW. Output "ta 3" instead of a "flushw" instruction if v8 instruction set is used. llvm-svn: 123997
-
Owen Anderson authored
A == B, and A > B, does not mean we can fold it to true. We still need to check for A ? B (A unordered B). llvm-svn: 123993
-
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
-
Renato Golin authored
Clang was not parsing target triples involving EABI and was generating wrong IR (wrong PCS) and passing the wrong information down llc via the target-triple printed in IR. I've fixed this by adding the parsing of EABI into LLVM's Triple class and using it to choose the correct PCS in Clang's Tools. A Clang patch is on its way to use this infrastructure. llvm-svn: 123990
-
Oscar Fuentes authored
Patch by arrowdodger! llvm-svn: 123976
-
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
-