summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* [llvm-dwp] Merge cu_index from DWPsDavid Blaikie2016-02-065-6/+96
| | | | | | This is almost feature complete - just missing tu_index merging now. llvm-svn: 259971
* [Orc] Slightly improve the x86-64 resolver block machine code.Lang Hames2016-02-062-9/+8
| | | | | | Replace leaq + movq of a pointer with a single movabsq. llvm-svn: 259968
* llvm-bcanalyzer: Produce summary information for the BLOCKINFO block, it can beRichard Smith2016-02-061-10/+17
| | | | | | | a significant fraction of the file size (for files that otherwise have few records). Also include an average size per record in the summary information. llvm-svn: 259965
* Add note of suboptimal behavior in MemorySSA. NFC.George Burgess IV2016-02-061-0/+31
| | | | llvm-svn: 259963
* [AArch64] Add the scheduling model for Exynos-M1Evandro Menezes2016-02-062-2/+361
| | | | | | | | | | | | | | Summary: Add the core scheduling model for the Samsung Exynos-M1 (ARMv8-A). Reviewers: jmolloy, rengolin, christof, MinSeongKIM, t.p.northover Subscribers: aemerson, rengolin, MatzeB Differential Revision: http://reviews.llvm.org/D16644 llvm-svn: 259958
* [StatepointLower] Use None instead of Optional<int>()Sanjoy Das2016-02-051-5/+5
| | | | llvm-svn: 259956
* Make the OCaml tests temporarily unsupported until they can be updated.Eric Christopher2016-02-051-0/+3
| | | | llvm-svn: 259954
* [Orc] Fix a typo in the comments for the x86_64 resolver block.Lang Hames2016-02-051-2/+2
| | | | llvm-svn: 259953
* Variable naming style fix /nfcXinliang David Li2016-02-051-3/+3
| | | | llvm-svn: 259952
* Attempt#2 to work around MSVC rejects-valid.Richard Smith2016-02-051-2/+2
| | | | llvm-svn: 259948
* Attempt to work around an MSVC rejects-valid. Apparently it gets the accessRichard Smith2016-02-051-7/+5
| | | | | | | check wrong when inheriting a member through two levels of private inheritance, where the middle one is a class template specialization. llvm-svn: 259943
* More workarounds for undefined behavior exposed when compiling in C++14 withRichard Smith2016-02-053-1/+13
| | | | | | | | -fsized-deallocation. Disable sized deallocation for all objects derived from TrailingObjects, as we expect the storage allocated for these objects to be larger than the size of their dynamic type. llvm-svn: 259942
* [PGO] Speed up name tab readingXinliang David Li2016-02-051-13/+16
| | | | | | | | The change allows skipping duplicate strings early to avoid redundant md5 computation and string copying/swapping. llvm-svn: 259941
* [llvm-nm] Prefer empty() over size() == 0.Davide Italiano2016-02-051-1/+1
| | | | | | Thanks to David Blaikie for pointing this out! llvm-svn: 259938
* [llvm-nm] Transform a switch() statement in a pair of if(s).Davide Italiano2016-02-051-7/+2
| | | | | | | This is more uniform wrt what other tools do and makes the code a little bit more readable. llvm-svn: 259937
* [llvm-nm] Simplify code logic. NFCI.Davide Italiano2016-02-051-7/+3
| | | | llvm-svn: 259917
* CallAnalyzer::analyzeCall: change the condition back to "Cost < Threshold"Hans Wennborg2016-02-051-1/+1
| | | | | | | | In r252595, I inadvertently changed the condition to "Cost <= Threshold", which caused a significant size regression in Chrome. This commit rectifies that. llvm-svn: 259915
* [AArch64] Refactoring aarch64-ldst-opt. NCF.Jun Bum Lim2016-02-051-25/+38
| | | | | | | Remove narrow load / store instructions from getMatchingPairOpcode(), and add getMatchingWideOpcode(). llvm-svn: 259914
* TableGen: Add IsOptional field to AsmOperandClassTom Stellard2016-02-052-1/+24
| | | | | | | | | | | | | | | Summary: This makes it possible to specify some operands as optional to the AsmMatcher. Setting this field to true will prevent the AsmMatcher from emitting 'too few operands' errors when there are missing optional operands. Reviewers: olista01, ab Subscribers: nhaustov, arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D15755 llvm-svn: 259913
* AMDGPU: Account for LDS alignmentMatt Arsenault2016-02-052-4/+277
| | | | | | | | | | | | | The current situation isn't great, because the amount of padding requires is determined by the inverse order of the first encountered use. We should eventually somehow sort these to minimize wasted space. Another problem is the alignment of kernel arguments isn't respected. The group_segment_alignment is always emitted as the default 16, and typed arguments with higher alignments or an explicitly set alignment are also ignored. llvm-svn: 259912
* AMDGPU: Preserve alignments on new created globalsMatt Arsenault2016-02-053-7/+41
| | | | | | | Also switch to internal linkage, and include the name of the function in the name. llvm-svn: 259911
* [codeview] Dump a missing field and change its signednessReid Kleckner2016-02-052-1/+3
| | | | llvm-svn: 259904
* AMDGPU: Remove some purely R600 functions from AMDGPUInstrInfoTom Stellard2016-02-055-96/+28
| | | | | | | | | | Reviewers: arsenm Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D16862 llvm-svn: 259900
* AMDGPU: Fix ordering of CPU and FS parameters in TargetMachine constructorsTom Stellard2016-02-052-10/+10
| | | | | | | | | | Reviewers: arsenm Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D16863 llvm-svn: 259897
* Fix echo.ll test failing due to DOS line endingsReid Kleckner2016-02-051-1/+1
| | | | llvm-svn: 259896
* Some stackslots are allocated to vregs which have no real reference.Wei Mi2016-02-052-7/+255
| | | | | | | | | | | | | | LiveRangeEdit::eliminateDeadDef is used to remove dead define instructions after rematerialization. To remove a VNI for a vreg from its LiveInterval, LiveIntervals::removeVRegDefAt is used. However, after non-PHI VNIs are all removed, PHI VNI are still left in the LiveInterval. Such unused vregs will be kept in RegsToSpill[] at the end of InlineSpiller::reMaterializeAll and spiller will allocate stackslot for them. The fix is to get rid of unused reg by checking whether it has non-dbg reference instead of whether it has non-empty interval. llvm-svn: 259895
* AMDGPU/SI: Correctly initialize SIInsertWaits passTom Stellard2016-02-053-7/+22
| | | | | | | | | | Reviewers: arsenm Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D16724 llvm-svn: 259894
* [WebAssembly] Update the select instructions' operand orders to match the spec.Dan Gohman2016-02-053-28/+28
| | | | llvm-svn: 259893
* Add the missing test case for PR26193Nemanja Ivanovic2016-02-051-0/+9
| | | | llvm-svn: 259888
* Fix for PR 26193Nemanja Ivanovic2016-02-052-2/+2
| | | | | | | This is a simple fix for a PowerPC intrinsic that was incorrectly defined (the return type was incorrect). llvm-svn: 259886
* Move classes defined in a cpp file into an anonymous namespace.Benjamin Kramer2016-02-052-0/+4
| | | | | | No functionality change intended. llvm-svn: 259883
* Prefix external symbols in llvm-c-test.Benjamin Kramer2016-02-0510-46/+46
| | | | | | | | | This makes it less likely to clash with other stuff that might be linked in by change, e.g. ncurses exposes an external function called simply "echo", so linking ncurses statically into the binary explodes in funny ways. llvm-svn: 259882
* Revert "[AArch64] Improve load/store optimizer to handle LDUR + LDR (take 3)."Renato Golin2016-02-052-181/+21
| | | | | | This reverts commit r259812 as it broke AArch64 self-hosting. llvm-svn: 259881
* [DebugInfo] Eliminate compilation warning about used variable LSDADmitry Polukhin2016-02-051-2/+1
| | | | | | | The waring was: lib/DebugInfo/DWARF/DWARFDebugFrame.cpp:643:20: warning: variable ‘LSDA’ set but not used llvm-svn: 259877
* [LoopUnrolling] Try harder to avoid rebuilding LCSSA when possible.Michael Zolotukhin2016-02-051-7/+56
| | | | | | | | | | | | | In r255133 (reapplied r253126) we started to avoid redundant recomputation of LCSSA after loop-unrolling. This patch moves one step further in this direction - now we can avoid it for much wider range of loops, as we start to look at IR and try to figure out if the transformation actually breaks LCSSA phis or makes it necessary to insert new ones. Differential Revision: http://reviews.llvm.org/D16838 llvm-svn: 259869
* [MC] Add support for encoding CodeView variable definition rangesDavid Majnemer2016-02-0516-13/+332
| | | | | | | | | | | | | | | | | | | CodeView, like most other debug formats, represents the live range of a variable so that debuggers might print them out. They use a variety of records to represent how a particular variable might be available (in a register, in a frame pointer, etc.) along with a set of ranges where this debug information is relevant. However, the format only allows us to use ranges which are limited to a maximum of 0xF000 in size. This means that we need to split our debug information into chunks of 0xF000. Because the layout of code is not known until *very* late, we must use a new fragment to record the information we need until we can know *exactly* what the range is. llvm-svn: 259868
* [RS4GC] Pass DenseMap by reference, NFCJoseph Tremoulet2016-02-051-5/+4
| | | | | | | | | | | | | | | Summary: Passing the rematerialized values map to insertRematerializationStores by value looks to be a simple oversight; update it to pass by reference. Reviewers: reames, sanjoy Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16911 llvm-svn: 259867
* Add various binary operations in the LLVM C API echo testAmaury Sechet2016-02-052-3/+87
| | | | | | | | | | | | Summary: This diff increase the tested surface of the C API. Reviewers: bogner, chandlerc, echristo, dblaikie, joker.eph, Wallbraker Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16910 llvm-svn: 259863
* [LoopLoadElim] Don't allow versioning when optForSizeAdam Nemet2016-02-052-2/+85
| | | | | | This was requested in the review of D16300. llvm-svn: 259861
* Fix typo in commentAdam Nemet2016-02-051-1/+1
| | | | llvm-svn: 259860
* Fix printing of f16 machine operandsMatt Arsenault2016-02-051-2/+8
| | | | | | | | | | | | | Only single and double FP immediates are correctly printed by MachineInstr::print() during debug output. Half float type goes to APFloat::convertToDouble() and hits assertion it is not a double semantics. This diff prints half machine operands correctly. This cannot currently be hit by any in-tree target. Patch by Stanislav Mekhanoshin llvm-svn: 259857
* Fix build breakage introduced by r259846.Easwaran Raman2016-02-051-1/+2
| | | | llvm-svn: 259855
* Add a test for MemorySSA. NFC.George Burgess IV2016-02-051-0/+24
| | | | | | | We don't currently have many tests that deal with operations on multiple local MemoryLocations. This new test helps out a bit in that regard. llvm-svn: 259854
* Add Support to llvm-c-test dependanciesAmaury Sechet2016-02-051-0/+1
| | | | | | | | | | | | Summary: As per title. It is required and don't get linked in in some builds. Reviewers: chapuni, joker.eph Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16903 llvm-svn: 259853
* Function name change /NFCXinliang David Li2016-02-041-2/+2
| | | | llvm-svn: 259851
* Refactor profile summary support code. NFC.Easwaran Raman2016-02-046-125/+168
| | | | | | | | | | Summary computation is not just for instrumented profiling and so I have moved the ProfileSummary class to ProfileCommon.h (named so to allow code unrelated to summary but common to instrumented and sampled profiling to be placed there) Differential Revision: http://reviews.llvm.org/D16661 llvm-svn: 259846
* Improve testing for the C APIAmaury Sechet2016-02-049-6/+520
| | | | | | | | | | | | | | | | | | | Summary: This basically add an echo test case in C. The support is limited right now, but full support would just be too much to review at once. The echo test case simply get a module as input and try to output the same exact module. This allow to check the both reading and writing API are working as expected. I want to improve this test over time to support more and more of the API, in order to improve coverage (coverage is quite poor right now). Test Plan: Run the test. Reviewers: chandlerc, bogner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10725 llvm-svn: 259844
* Fix for PR 26356Nemanja Ivanovic2016-02-042-5/+140
| | | | | | | | | Using the load immediate only when the immediate (whether signed or unsigned) can fit in a 16-bit signed field. Namely, from -32768 to 32767 for signed and 0 to 65535 for unsigned. This patch also ensures that we sign-extend under the right conditions. llvm-svn: 259840
* Fix typo and test commitEvandro Menezes2016-02-041-1/+1
| | | | llvm-svn: 259839
* Provide a test case for rl259798Nemanja Ivanovic2016-02-041-0/+10
| | | | llvm-svn: 259835
OpenPOWER on IntegriCloud