- Sep 17, 2013
-
-
Preston Gurd authored
- check that -mcpu=slm uses the call register indirect optimization - check that -mcpu=slm runs the scheduler - check that -mcpu=slm supports the movbe instruction llvm-svn: 190814
-
Jakub Staszak authored
llvm-svn: 190813
-
- Sep 16, 2013
-
-
Jordan Rose authored
I got a report of a hang in git's helper functions trying to figure out how to display results of "git svn info" when run inside ninja, even though the result is immediately piped to grep. This seems to avoid that. llvm-svn: 190808
-
Krzysztof Parzyszek authored
llvm-svn: 190807
-
Tim Northover authored
libc++ didn't seem to like a non-const call operator. llvm-svn: 190797
-
Bill Schmidt authored
Fast-isel generates a COPY_TO_REGCLASS for widening f32 to f64, which is a nop on PPC64. This is needed to keep the register class system happy, but on the fast-isel path it is not removed before emit as it is for DAG select. Ignore this op when emitting instructions. llvm-svn: 190795
-
Tim Northover authored
TableGen was sorting the entries in some of its internal data structures by pointer. This order filtered through to the final matching table and affected the diagnostics produced on bad assembly occasionally. It also turns out STL algorithms are ridiculously easy to misuse on containers with custom order methods. (No bugs before, or now that I know of, but plenty in the middle). This should fix the sanitizer bot, which ends up with weird pointers. llvm-svn: 190793
-
Tim Northover authored
llvm-svn: 190792
-
Arnold Schwaighofer authored
We would have to compute the pre increment value, either by computing it on every loop iteration or by splitting the edge out of the loop and inserting a computation for it there. For now, just give up vectorizing such loops. Fixes PR17179. llvm-svn: 190790
-
Evgeniy Stepanov authored
llvm-svn: 190782
-
Vladimir Medic authored
llvm-svn: 190780
-
Benjamin Kramer authored
llvm-svn: 190779
-
Daniel Sanders authored
Summary: When a git repository had multiple remotes, ${repository} will be set to a multiline string. This causes compilation errors in SVNVersion.inc. Fix this by limiting the output of utils/GetRepositoryPath to the first remote (which is reasonably likely to be 'origin'). Reviewers: jordan_rose CC: llvm-commits, t.p.northover Differential Revision: http://llvm-reviews.chandlerc.com/D1659 llvm-svn: 190778
-
Richard Sandiford authored
The port originally had special patterns for extload, mapping them to the same instructions as sextload. It seemed neater to have patterns that match "an extension that is allowed to be signed" and "an extension that is allowed to be unsigned". This was originally meant to be a clean-up, but it does improve the handling of promoted integers a little, as shown by args-06.ll. llvm-svn: 190777
-
Craig Topper authored
llvm-svn: 190775
-
Peter Collingbourne authored
Previous discussion: http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/063909.html Differential Revision: http://llvm-reviews.chandlerc.com/D1191 llvm-svn: 190773
-
Hal Finkel authored
This is a re-commit of r190764, with an extra check to make sure that we're not performing the transformation on illegal types (a small test case has been added for this as well). Original commit message: The PPC backend uses a target-specific DAG combine to turn unaligned Altivec loads into a permutation-based sequence when possible. Unfortunately, the target-specific DAG combine is not always called on all loads of interest (sometimes the routines in DAGCombine call CombineTo such that the new node and users are not added to the worklist); allowing the combine to trigger early (before type legalization) mitigates this problem. Because the autovectorizers only create legal vector types, I don't expect a lot of cases where this optimization is enabled by type legalization in practice. llvm-svn: 190771
-
Benjamin Kramer authored
llvm-svn: 190770
-
- Sep 15, 2013
-
-
Benjamin Kramer authored
llvm-svn: 190769
-
David Majnemer authored
Summary: The '?' flag uses the last section group if the last had a section group. We treat combining an explicit section group and the '?' as a hard error. This fixes PR17198. Reviewers: rafael, bkramer Reviewed By: bkramer CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1686 llvm-svn: 190768
-
Kai Nacke authored
For alignment purposes, the instruction array will always have an even number of entries, with the final entry potentially unused (in which case the array will be one longer than indicated by the count of unwind codes field). Reviewed by Anton Korobeynikov, Charles Davis and Nico Rieck. llvm-svn: 190767
-
Kai Nacke authored
data structures. The Win64 EH data structures must be of type IMAGE_REL_AMD64_ADDR32NB instead of IMAGE_REL_AMD64_ADDR32. This is easiely achieved by adding the VK_COFF_IMGREL32 modifier to the symbol reference. Change also references to start and end of the SEH range of a function as offsets to start of the function. Reviewed by Jim Grosbach, Charles Davis and Nico Rieck. llvm-svn: 190766
-
Hal Finkel authored
This is causing test-suite failures. Original commit message: The PPC backend uses a target-specific DAG combine to turn unaligned Altivec loads into a permutation-based sequence when possible. Unfortunately, the target-specific DAG combine is not always called on all loads of interest (sometimes the routines in DAGCombine call CombineTo such that the new node and users are not added to the worklist); allowing the combine to trigger early (before type legalization) mitigates this problem. Because the autovectorizers only create legal vector types, I don't expect a lot of cases where this optimization is enabled by type legalization in practice. llvm-svn: 190765
-
Hal Finkel authored
The PPC backend uses a target-specific DAG combine to turn unaligned Altivec loads into a permutation-based sequence when possible. Unfortunately, the target-specific DAG combine is not always called on all loads of interest (sometimes the routines in DAGCombine call CombineTo such that the new node and users are not added to the worklist); allowing the combine to trigger early (before type legalization) mitigates this problem. Because the autovectorizers only create legal vector types, I don't expect a lot of cases where this optimization is enabled by type legalization in practice. llvm-svn: 190764
-
Hal Finkel authored
DAGCombiner::isAlias can be called with SrcValue1 or SrcValue2 null, and we can't use AA in this case (if we try, then the casting code in AA will assert). llvm-svn: 190763
-
Reed Kotler authored
so it can be better used for general interoperability testing between mips32 and mips16. llvm-svn: 190762
-
Benjamin Kramer authored
llvm-svn: 190759
-
- Sep 14, 2013
-
-
Ben Langmuir authored
Also assembly/disassembly tests, and for sha256rnds2, aliases with an explicit xmm0 dependency. llvm-svn: 190754
-
Robert Wilhelm authored
llvm-svn: 190750
-
Robert Wilhelm authored
llvm-svn: 190749
-
Chandler Carruth authored
This pass was based on the previous (essentially unused) profiling infrastructure and the assumption that by ordering the basic blocks at the IR level in a particular way, the correct layout would happen in the end. This sometimes worked, and mostly didn't. It also was a really naive implementation of the classical paper that dates from when branch predictors were primarily directional and when loop structure wasn't commonly available. It also didn't factor into the equation non-fallthrough branches and other machine level details. Anyways, for all of these reasons and more, I wrote MachineBlockPlacement, which completely supercedes this pass. It both uses modern profile information infrastructure, and actually works. =] llvm-svn: 190748
-
Zoran Jovanovic authored
llvm-svn: 190746
-
Zoran Jovanovic authored
llvm-svn: 190745
-
Zoran Jovanovic authored
llvm-svn: 190744
-
Matt Arsenault authored
llvm-svn: 190740
-
Matt Arsenault authored
This case wasn't checked with a pointer condition. llvm-svn: 190739
-
Daniel Dunbar authored
llvm-svn: 190738
-
Filip Pizlo authored
This was somewhat tricky because ~PrettyStackTraceEntry() may run after llvm_shutdown() has been called. This is rare and only happens for a common idiom used in the main() functions of command-line tools. This works around the idiom by skipping the stack clean-up if the PrettyStackTraceHead ManagedStatic is not constructed (i.e. llvm_shutdown() has been called). llvm-svn: 190730
-
- Sep 13, 2013
-
-
Hal Finkel authored
As it turns out, not a problem in practice, but it should be there. llvm-svn: 190720
-
Preston Gurd authored
Implements Instruction scheduler latencies for Silvermont, using latencies from the Intel Silvermont Optimization Guide. Auto detects SLM. Turns on post RA scheduler when generating code for SLM. llvm-svn: 190717
-