- Nov 03, 2013
-
-
Benjamin Kramer authored
Instead of doing a RPO traversal of the whole function remember the blocks containing gathers (typically <= 2) and scan them in dominator-first order. The actual CSE is still quadratic, but I'm not confident that adding a scoped hash table here is worth it as we're only looking at the generated instructions and not arbitrary code. llvm-svn: 193956
-
David Majnemer authored
This reverts commit r193356, it caused PR17781. A reduced test case covering this regression has been added to the test suite. llvm-svn: 193955
-
David Majnemer authored
llvm-svn: 193954
-
Peter Zotov authored
llvm-svn: 193953
-
Peter Zotov authored
OCaml's type unit is not compatible with C's type void. llvm-svn: 193952
-
Peter Zotov authored
llvm-svn: 193951
-
Peter Zotov authored
llvm-svn: 193950
-
Peter Zotov authored
Llvm_target tests did not check for return values. This actually caused them to miss a bug. llvm-svn: 193949
-
Peter Zotov authored
llvm-svn: 193948
-
Venkatraman Govindaraju authored
llvm-svn: 193947
-
Peter Zotov authored
llvm-svn: 193946
-
Peter Zotov authored
llvm-svn: 193945
-
Bob Wilson authored
This adds an SimplifyLibCalls case which converts the special __sinpi and __cospi (float & double variants) into a __sincospi_stret where appropriate to remove duplicated work. Patch by Tim Northover llvm-svn: 193943
-
Bob Wilson authored
rdar://12856873 Patch by Evan Cheng, with a fix for rdar://13209539 by Tilmann Scheller llvm-svn: 193942
-
Venkatraman Govindaraju authored
llvm-svn: 193941
-
Bob Wilson authored
Patch by Pete Cooper. llvm-svn: 193940
-
Filip Pizlo authored
llvm-svn: 193939
-
Filip Pizlo authored
When LLVM is embedded in a larger application, it's not OK for LLVM to intercept crashes. LLVM already has the ability to disable this functionality. This patch exposes it via the C API. llvm-svn: 193937
-
- Nov 02, 2013
-
-
Rafael Espindola authored
llvm-svn: 193933
-
Rafael Espindola authored
llvm-svn: 193932
-
Rafael Espindola authored
This is a fixed version of 193928 which keeps these uses in sync. llvm-svn: 193931
-
Rafael Espindola authored
Investigating a bot failure. This reverts commit r193928. llvm-svn: 193929
-
Rafael Espindola authored
llvm-svn: 193928
-
Benjamin Kramer authored
llvm-svn: 193927
-
Benjamin Kramer authored
Doing this with a hash map doesn't change behavior and avoids calling isIdenticalTo O(n^2) times. This should probably eventually move into a utility class shared with EarlyCSE and the limited CSE in the SLPVectorizer. llvm-svn: 193926
-
Rafael Espindola authored
llvm-svn: 193915
-
Rafael Espindola authored
llvm-svn: 193914
-
Rafael Espindola authored
There is still a long way to go for llvm-nm, but at least we now match nm's letter output in the cases we test for. llvm-svn: 193912
-
Michael Liao authored
- When selecting BLEND from vselect, the operands need swapping as due to the difference between vselect and SSE/AVX's BLEND insn llvm-svn: 193900
-
Yuchen Wu authored
Added -o option to llvm-cov. If no output file is specified, it defaults to STDOUT. llvm-svn: 193899
-
Arnold Schwaighofer authored
llvm-svn: 193895
-
Eric Christopher authored
llvm-svn: 193894
-
- Nov 01, 2013
-
-
David Blaikie authored
I hit some problems with future work due to the member subprogram of 'a_b's type having a subprogram (an implicit default ctor, !52 in the pre-commit source) with no name. Clang now generates a name for such a function but in this case doesn't even emit debug info for it as it is unused (Clang never emits the body of the ctor, instead just emitting memset if needed). llvm-svn: 193892
-
Arnold Schwaighofer authored
When the loop vectorizer was part of the SCC inliner pass manager gvn would run after the loop vectorizer followed by instcombine. This way redundancy (multiple uses) were removed and instcombine could perform scalarization on the induction variables. Having moved the loop vectorizer to later we no longer run any form of redundancy elimination before we perform instcombine. This caused vectorized induction variables to survive that did not before. On a recent iMac this helps linpack back from 6000Mflops to 7000Mflops. This should also help lpbench and paq8p. I ran a Release (without Asserts) build over the test-suite and did not see any negative impact on compile time. radar://15339680 llvm-svn: 193891
-
David Blaikie authored
The point is to ensure that the attribute in question (DW_AT_data_member_location) is associated with the prior tag, so ensure that we don't see another tag starting between the intended tag and the desired attribute. llvm-svn: 193884
-
David Blaikie authored
llvm-svn: 193878
-
David Blaikie authored
llvm-svn: 193876
-
Manman Ren authored
llvm-svn: 193874
-
David Blaikie authored
In a failed attempt to allow the gnu-public-names.ll test case to not hardcode the size of the unit that the pubnames section referred to I've at least managed to have unit headers and pubnames headers print out in a similar style. This failed to achieve the desired goal because the header in a unit specifies the length of the unit without the length element of the header whereas the length in the pubnames includes this element, so the numbers are off by 4 bytes. I don't know of any arithmetic powers in FileCheck so the test case can't simply say "CU_LENGTH + 4". llvm-svn: 193872
-
Juergen Ributzka authored
llvm-svn: 193871
-