- Oct 24, 2016
-
-
Justin Bogner authored
The installhdrs target was inconsistently named and would behave differently depending on whether or not you ran a build first. This renames it to install-llvm-headers to match other target names and adds a dependency on intrinsics_gen so that it will always install the same set of things. llvm-svn: 285035
-
Eli Friedman authored
There are two fixes here: one, AnalyzeUsesOfPointer can't return false until it has checked all the uses of the pointer. Two, if a global uses another global, we have to assume the address of the first global escapes. Fixes https://llvm.org/bugs/show_bug.cgi?id=30707 . Differential Revision: https://reviews.llvm.org/D25798 llvm-svn: 285034
-
Simon Pilgrim authored
Use isConstOrConstSplat helper. Also use APInt instead of getZExtValue directly to avoid out of range issues. llvm-svn: 285033
-
Justin Bogner authored
Add a cmake-exports install component and appropriate targets for LLVM_DISTRIBUTION_COMPONENTS to work with. llvm-svn: 285030
-
Matthias Braun authored
(Const)?MIOperands is equivalent to the C++ style MachineInstr::mop_iterator. Use the latter for consistency except for a few callers of MIOperands::analyzePhysReg(). llvm-svn: 285029
-
Kevin Enderby authored
when contained in a Mach-O universal file and the cputypes in both headers don’t match. llvm-svn: 285026
-
Simon Pilgrim authored
llvm-svn: 285025
-
Vedant Kumar authored
Suggested by David Blaikie. llvm-svn: 285024
-
Vedant Kumar authored
I took the opportunity to replace some copy|move constructors|assignment operators with default implementations. As a follow-up, I plan on threading unique_ptr<T []> through a few areas per David Blaikie's advice. Differential Revision: https://reviews.llvm.org/D24424 llvm-svn: 285018
-
Dan Gohman authored
llvm-svn: 285017
-
Dan Gohman authored
CFGStackify differentiates between END_LOOP and END_BLOCK, but wasm itself doesn't. For now, just use the same opcode for both. llvm-svn: 285016
-
Dan Gohman authored
This corresponds to the "0xd" opcode renumbering. llvm-svn: 285014
-
Dan Gohman authored
This patch adds a pass, controlled by an option and off by default for now, for making implicit get_local/set_local explicit. This simplifies emitting wasm with MC. Differential Revision: https://reviews.llvm.org/D25836 llvm-svn: 285009
-
Davide Italiano authored
llvm-svn: 285008
-
Peter Collingbourne authored
These functions are about classifying a global which will actually be emitted, so it does not make sense for them to take a GlobalValue which may for example be an alias. Change the Mach-O object writer and the Hexagon, Lanai and MIPS backends to look through aliases before using TargetLoweringObjectFile interfaces. These are functional changes but all appear to be bug fixes. Differential Revision: https://reviews.llvm.org/D25917 llvm-svn: 285006
-
Sanjay Patel authored
llvm-svn: 285005
-
Mandeep Singh Grang authored
Reviewers: MatzeB, mcrosier, rengolin Differential Revision: https://reviews.llvm.org/D25894 llvm-svn: 285003
-
Peter Collingbourne authored
It is already part of the type (which is part of the global, which is already being added), so there's no need to do it. llvm-svn: 285002
-
Adrian Prantl authored
This fixes a bug in the handling of lexical scopes, when more than one scope is defined on the same line or functions are inlined into call sites that are on the same line as the function definition. This situation can easily happen in macro expansions. The problem is solved by introducing a SmallDenseMap<DIScope *, DILexicalBlockFile *, 1> that keeps track of all the different lexical scopes that share a line/file location. Fixes PR30681. llvm-svn: 284998
-
Benjamin Kramer authored
llvm-svn: 284997
-
Krzysztof Parzyszek authored
David Blaikie pointed out that we get them for free without having to write anything. llvm-svn: 284996
-
Ehsan Amiri authored
https://reviews.llvm.org/D23614 Currently we load +0.0 from constant area. That can change to be generated using XOR instruction. llvm-svn: 284995
-
Hans Wennborg authored
llvm-svn: 284994
-
Eli Friedman authored
The optimization has correctness issues, so reverting for now to fix tests on thumb1 targets. llvm-svn: 284993
-
Simon Pilgrim authored
Nothing to fix, it's just the way it has to be. llvm-svn: 284991
-
Rong Xu authored
Some library fucntions can have no argument. llvm-svn: 284989
-
Evandro Menezes authored
Add support for estimating the square root or its reciprocal and division or reciprocal using the combiner generic Newton series. Differential revision: https://reviews.llvm.org/D25291 llvm-svn: 284986
-
Justin Lebar authored
[ADT] static_assert that SmallDenseMap is instantiated with a power-of-two number of inline buckets. Summary: If you try to instantiate it with a non-power-of-two buckets, DenseMap will assert at runtime (!) if we ever outgrow our inline storage. I believe using a constexpr function inside of a static_assert is safe now that we've unsupported MSVC 2013 and GCC < 4.8. Reviewers: bkramer, qcolombet, escha Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D25900 llvm-svn: 284985
-
Geoff Berry authored
Summary: When using MemorySSA, re-optimize MemoryPhis when removing a store since this may create MemoryPhis with all identical arguments. Also, when using MemorySSA to check if two MemoryUses are reading from the same version of the heap, use the defining access instead of calling getClobberingAccess, since the latter can currently result in many more AA calls. Once the MemorySSA use optimization tracking changes are done, we can remove this limitation, which should result in more loads being CSE'd. Reviewers: dberlin Subscribers: mcrosier, llvm-commits Differential Revision: https://reviews.llvm.org/D25881 llvm-svn: 284984
-
Ehsan Amiri authored
https://reviews.llvm.org/D24924 This improves the code generated for a sequence of AND, ANY_EXT, SRL instructions. This is a targetted fix for this special pattern. The pattern is generated by target independet dag combiner and so a more general fix may not be necessary. If we come across other similar cases, some ideas for handling it are discussed on the code review. llvm-svn: 284983
-
Sanjay Patel authored
llvm-svn: 284982
-
Nicolai Haehnle authored
Summary: The v_movreld machine instruction is used with three operands that are in a sense tied to each other (the explicit VGPR_32 def and the implicit VGPR_NN def and use). There is no way to express that using the currently available operand bits, and indeed there are cases where the Two Address instructions pass does the wrong thing. This patch introduces a new set of pseudo instructions that are identical in intended semantics as v_movreld, but they only have two tied operands. Having to add a new set of pseudo instructions is admittedly annoying, but it's a fairly straightforward and solid approach. The only alternative I see is to try to teach the Two Address instructions pass about Three Address instructions, and I'm afraid that's trickier and is going to end up more fragile. Note that v_movrels does not suffer from this problem, and so this patch does not touch it. This fixes several GL45-CTS.shaders.indexing.* tests. Reviewers: tstellarAMD, arsenm Subscribers: kzhuravl, wdng, yaxunl, llvm-commits, tony-tye Differential Revision: https://reviews.llvm.org/D25633 llvm-svn: 284980
-
Nico Weber authored
It seems to break selfhost on some bots, see e.g. http://lab.llvm.org:8011/builders/clang-x86-windows-msvc2015/builds/21 http://lab.llvm.org:8011/builders/clang-ppc64be-linux-multistage/builds/20 http://lab.llvm.org:8011/builders/clang-ppc64be-linux-lnt/builds/22 llvm-svn: 284979
-
Nirav Dave authored
Fix AsmParser lines to correctly handle end-of-line pre-processor comments parsing when '#' is not the assembly line comment prefix. Reviewers: rnk Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D25567 llvm-svn: 284978
-
Pavel Labath authored
If we don't have futimens(), we fall back to futimes(), which only supports microsecond timestamps. In that case, we need to explicitly cast away the extra precision in setLastModificationAndAccessTime(). llvm-svn: 284977
-
Pavel Labath authored
llvm-svn: 284975
-
Pavel Labath authored
Summary: Most of the changes are very straight-forward. The only choice I had to make was to use second-precision time points in the Archive classes. I did this because the archive files use that precision in the on-disk representation anyway. Reviewers: rafael, zturner Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D25773 llvm-svn: 284974
-
Joel Jones authored
Summary: Add relocations for AArch64 ILP32. Includes: - Addition of definitions for R_AARCH32_* - Definition of new -target-abi: ilp32 - Definition of data layout string - Tests for added relocations. Not comprehensive, but matches existing tests for 64-bit. Renames "CHECK-OBJ" to "CHECK-OBJ-LP64". - Tests for llvm-readobj Reviewers: zatrazz, peter.smith, echristo, t.p.northover Subscribers: aemerson, rengolin, mehdi_amini Differential Revision: https://reviews.llvm.org/D25159 llvm-svn: 284973
-
Krzysztof Parzyszek authored
llvm-svn: 284972
-
Pablo Barrio authored
Summary: These are good candidates for jump threading. This enables later opts (such as InstCombine) to combine instructions from the selects with instructions out of the selects. SimplifyCFG will fold the select again if unfolding wasn't worth it. Patch by James Molloy and Pablo Barrio. Reviewers: reames, bkramer, mcrosier, gberry, haicheng, jmolloy, sebpop Subscribers: jojo, rengolin, llvm-commits Differential Revision: https://reviews.llvm.org/D25477 llvm-svn: 284971
-