summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* This patch fixes problem with passing structures and unionsStrahinja Petrovic2016-06-242-1/+50
| | | | | | | | smaller than register as argument in variadic functions on big endian architectures. Differential Revision: http://reviews.llvm.org/D21611 llvm-svn: 273665
* Add FixedSizeStorage to TrailingObjects; NFCHubert Tong2016-06-241-0/+44
| | | | | | | | | | | | Summary: This change introduces two types, `FixedSizeStorage` and `FixedSizeStorageOwner`, which can be used to provide stack-allocated objects with trailing objects. Reviewers: rsmith, faisalv, aaron.ballman Subscribers: llvm-commits, cfe-commits, nwilson Differential Revision: http://reviews.llvm.org/D19770 llvm-svn: 273664
* [ELF] - Fix incorrect logic in VersionScriptParser::parseVersion()George Rimar2016-06-242-2/+2
| | | | | | | | | | | | | | | | Previously the next sample script would generate 2 entries in Config->SymbolVersions with the same version name. VERSION { global: c; }; That happened because parseVersionSymbols() was called twice. At first for "global:" and since there is no local tag, it was called again. Patch fixes the issue, testcase was updated to demonstrate. Differential revision: http://reviews.llvm.org/D21640 llvm-svn: 273663
* Add (commented out) status entries for the upcoming WG21 motions.Richard Smith2016-06-241-0/+59
| | | | llvm-svn: 273662
* [ELF] - Support of compressed input sections implemented.George Rimar2016-06-245-6/+98
| | | | | | | | | | Patch implements support of zlib style compressed sections. SHF_COMPRESSED flag is used to recognize that decompression is required. After that decompression is performed and flag is removed from output. Differential revision: http://reviews.llvm.org/D20272 llvm-svn: 273661
* Remove ignoringImplicit from clang-tidy.Cong Liu2016-06-242-6/+1
| | | | llvm-svn: 273660
* IgnoringImplicit matcher.Cong Liu2016-06-245-3/+59
| | | | llvm-svn: 273659
* Revert "Revert "[misched] Extend scheduler to handle unsupported features""Simon Dardis2016-06-243-1/+53
| | | | | | | | This reverts commit r273565. This was an over-eager revert. llvm-svn: 273658
* AMDGPU: Add stub custom CodeGenPrepare passMatt Arsenault2016-06-245-0/+96
| | | | | | | | This will do various things including ones CodeGenPrepare does, but with knowledge of uniform values. llvm-svn: 273657
* Remove hack introduced by r273641.George Burgess IV2016-06-241-2/+0
| | | | | | Hopefully the buildbots have had enough time to pick this up by now. llvm-svn: 273656
* AMDGPU: Un-xfail and add testsMatt Arsenault2016-06-248-35/+386
| | | | | | | | Un XFAIL a few tests plus a few more I had lying around in my tree, which seem to all work now but I don't see tests that quite test the same things. llvm-svn: 273655
* Change shared library load path to appease Android botRyan Govostes2016-06-241-3/+6
| | | | llvm-svn: 273654
* AMDGPU: Remove disable-irstructurizer subtarget featureMatt Arsenault2016-06-246-16/+9
| | | | | | | | The only real reason to use it is for testing, so replace it with a command line option instead of a potentially function dependent feature. llvm-svn: 273653
* AMDGPU: Cleanup subtarget handling.Matt Arsenault2016-06-2458-706/+879
| | | | | | | | | Split AMDGPUSubtarget into amdgcn/r600 specific subclasses. This removes most of the static_casting of the basic codegen classes everywhere, and tries to restrict the features visible on the wrong target. llvm-svn: 273652
* try to fix the MSVC buildDavid Majnemer2016-06-241-1/+2
| | | | llvm-svn: 273651
* Use even more ArrayRefsDavid Majnemer2016-06-248-38/+28
| | | | | | No functional change is intended, just a small refactoring. llvm-svn: 273650
* Silence a -Wc++11-narrowing warningDavid Majnemer2016-06-241-1/+1
| | | | llvm-svn: 273649
* Update LLDB for r273647David Majnemer2016-06-241-4/+2
| | | | llvm-svn: 273648
* Use more ArrayRefsDavid Majnemer2016-06-2439-238/+174
| | | | | | No functional change is intended, just a small refactoring. llvm-svn: 273647
* Use the same underlying type for bitfieldsDavid Majnemer2016-06-248-33/+33
| | | | | | | MSVC allocates fresh storage for consecutive bitfields with different underlying types. llvm-svn: 273646
* Use the same underlying type for bitfieldsDavid Majnemer2016-06-243-3/+3
| | | | | | | MSVC allocates fresh storage for consecutive bitfields with different underlying types. llvm-svn: 273645
* Switch more loops to be range-basedDavid Majnemer2016-06-2414-68/+52
| | | | | | | This makes the code a little more concise, no functional change is intended. llvm-svn: 273644
* [X86] Combine two nearby calls to isSingleInputShuffleVector. NFCCraig Topper2016-06-241-6/+4
| | | | llvm-svn: 273643
* [llvm-cov] Fix two warningsVedant Kumar2016-06-242-5/+16
| | | | | | | | | They were using output streams inconsistently. One also had a grammar bug. I noticed these while trying to pare down D18278. llvm-svn: 273642
* Temporary hack to clean a file from buildbots.George Burgess IV2016-06-241-1/+3
| | | | | | | | | Some buildbots are complaining about a .s file under test/ that was inadvertently created by a test earlier today, and is still hanging around. I'll undo this change in ~1hr (or whenever the bots are done getting rid of said file). llvm-svn: 273641
* Fix an issue where the @lldb.command marker would not work with the new ↵Enrico Granata2016-06-244-6/+36
| | | | | | | | | | | 5-argument version of the Python command function This: a) teaches PythonCallable to look inside a callable object b) teaches PythonCallable to discover whether a callable method is bound c) teaches lldb.command to dispatch to either the older 4 argument version or the newer 5 argument version llvm-svn: 273640
* Teaching SimplifyCFG to recognize the Or-Mask trick that InstCombine uses toChuang-Yu Cheng2016-06-242-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | reduce the number of comparisons. Specifically, InstCombine can turn: (i == 5334 || i == 5335) into: ((i | 1) == 5335) SimplifyCFG was already able to detect the pattern: (i == 5334 || i == 5335) to: ((i & -2) == 5334) This patch supersedes D21315 and resolves PR27555 (https://llvm.org/bugs/show_bug.cgi?id=27555). Thanks to David and Chandler for the suggestions! Author: Thomas Jablin (tjablin) Reviewers: majnemer chandlerc halfdan cycheng http://reviews.llvm.org/D21397 llvm-svn: 273639
* BitcodeWriter: Remove redundant (and incorrect) check for whether to emit ↵Peter Collingbourne2016-06-242-3/+5
| | | | | | | | | | | | | | | module summary. The function name Module::empty() is slightly misleading in that it only tests for the presence of functions in the module. However we still want to emit the module summary if the module contains only global variables or aliases. The presence of such entities can be determined simply by checking the summary directly, as we are doing below. Differential Revision: http://reviews.llvm.org/D21669 llvm-svn: 273638
* Attempt to fix MSVC breakage caused by r273636.George Burgess IV2016-06-241-9/+13
| | | | | | Apparently earlier versions of MSVC don't have constexpr bitset ctors. llvm-svn: 273637
* [CFLAA] Propagate StratifiedAttrs in interproc. analysis.George Burgess IV2016-06-247-62/+235
| | | | | | | | | | | | | | | | | This patch also has a refactor that kills StratifiedAttr, and leaves us with StratifiedAttrs, because having both was mildly redundant. This patch makes us correctly handle stratified attributes when doing interprocedural analysis. It also adds another attribute, AttrCaller, which acts like AttrUnknown. We can filter out AttrCaller values when during interprocedural analysis, since the caller should have information about what arguments it's passing to its callee. Patch by Jia Chen. Differential Revision: http://reviews.llvm.org/D21645 llvm-svn: 273636
* [llvm-cov] Use getOptions() instead of Options in SourceCoverageView, NFCVedant Kumar2016-06-241-14/+16
| | | | | | | A lot of this code is going to move into the text-based coverage renderer, and won't be able to use Options directly. Use the getter. llvm-svn: 273635
* [llvm-cov] Add SourceNames to SourceCoverageViews, NFCVedant Kumar2016-06-243-16/+37
| | | | | | | | | | | | | A SourceName can be a file or a function. It makes sense to attach this information to a SourceCoverageView, seeing as views (1) already point to the text corresponding to the relevant source code and (2) are already used to render that text along with the SourceNames. This is a nice cleanup which is independent of the upcoming html patch. While we're at it, document the fields in SourceCoverageView. llvm-svn: 273634
* [llvm-cov] Rename SourceCoverageView::LineCoverageInfo to LineCoverageStats, NFCVedant Kumar2016-06-242-25/+25
| | | | | | | | | | | | Pull LineCoverageInfo out of SourceCoverageView and rename it so that it doesn't conflict with another class of the same name in CoverageSummaryInfo.h. This cuts down on the amount of code we have to move into a `protected` section of SourceCoverageView for the upcoming html patch. It also makes the code a bit clearer: having two LineCoverageInfo's is strange. llvm-svn: 273633
* Handle variadic Objective-C methods from DWARF correctly.Sean Callanan2016-06-245-4/+41
| | | | | | <rdar://problem/22039804> llvm-svn: 273632
* [ARM] Use aapcs_vfp for ___truncdfhf2 on v7k.Ahmed Bougacha2016-06-242-11/+22
| | | | | | | r215348 overrode the f16 libcalls to be soft-float, but v7k uses the default (hard-float) calling convention. llvm-svn: 273631
* [AArch64] Model the cost of vector by element FP multiplies on Exynos M1. (NFC)Evandro Menezes2016-06-231-0/+6
| | | | llvm-svn: 273630
* [asan] Add failure logging to global-registration.c test caseRyan Govostes2016-06-231-2/+7
| | | | llvm-svn: 273629
* Support/ELF: Add R_AMDGPU_GOTPCREL relocationTom Stellard2016-06-234-0/+16
| | | | | | | | | | | | | Summary: We will start generating this in a future patch. Reviewers: arsenm, kzhuravl, rafael, ruiu, tony-tye Subscribers: arsenm, llvm-commits, kzhuravl Differential Revision: http://reviews.llvm.org/D21482 llvm-svn: 273628
* [MachOYAML] Use a temporary to avoid gcc strict-aliasing warningChris Bieneman2016-06-231-2/+4
| | | | | | GCC complains about this with -Wstrict-aliasing. Using a temporary here should prevent the warning. llvm-svn: 273627
* [codeview] Add classes and unions to the Local/Global UDTs listsHans Wennborg2016-06-233-33/+110
| | | | | | Differential Revision: http://reviews.llvm.org/D21655 llvm-svn: 273626
* [LCG] Make the name of an SCC include more of the functions in it.Chandler Carruth2016-06-231-1/+17
| | | | | | | | | | This makes it much easier to debug issues when the logging contains the name of the SCC. It requires to create a temporary string, but for logging and debugging uses that seems fine. I've added logic to try to output all the function names with an elipsis if there are too many. This was helpful fro me in debugging issues with the new pass manager. llvm-svn: 273625
* Parser::ParseCXXCondition(): Prune \param in r273548 [-Wdocumentation]NAKAMURA Takumi2016-06-231-3/+0
| | | | llvm-svn: 273624
* [yaml2macho] Removing asserts in favor of explicit yaml parse errorChris Bieneman2016-06-234-6/+20
| | | | | | | | | | | | 32-bit Mach headers don't have reserved fields. When generating the mapping for 32-bit headers leaving off the reserved field will result in parse errors if the field is present in the yaml. Added a CHECK-NOT line to ensure that mach_header.yaml isn't adding a reserved field, and a test to ensure that the parser error gets hit with 32-bit headers. llvm-svn: 273623
* Don't run the top-level expression test case with -gmodules.Sean Callanan2016-06-231-1/+1
| | | | | | <rdar://problem/26563587> llvm-svn: 273622
* clang-tidy: Add llvm namespace commentsTobias Grosser2016-06-2335-61/+61
| | | | | | | | | | | | | | | | | | | | | | | llvm commonly adds a comment to the closing brace of a namespace to indicate which namespace is closed. clang-tidy provides with llvm-namespace-comment a handy tool to check for this habit. We use it to ensure we consitently use namespace comments in Polly. There are slightly different styles in how namespaces are closed in LLVM. As there is no large difference between the different comment styles we go for the style clang-tidy suggests by default. To reproduce this fix run: for i in `ls tools/polly/lib/*/*.cpp`; \ clang-tidy -checks='-*,llvm-namespace-comment' -p build $i -fix \ -header-filter=".*"; \ done This cleanup was suggested by Eugene Zelenko <eugene.zelenko@gmail.com> in http://reviews.llvm.org/D21488 and was split out to increase readability. llvm-svn: 273621
* [CMake] Add LLVM runtimes directoryChris Bieneman2016-06-234-11/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: There are a few LLVM projects that produce runtime libraries. Ideally runtime libraries should be built differently than other projects, specifically they should be built using the just-built toolchain. There is support for building compiler-rt in this way from the clang build. Moving this logic into the LLVM build is interesting because it provides a simpler way to extend the just-built toolchain to include LLD and the LLVM object file tools. Once this functionality is better fleshed out and tested we’ll want to encapsulate it in a module that can be used for clang standalone builds, and we’ll want to make it the default way to build compiler-rt. With this patch applied there is no immediate change in the build. Moving compiler-rt out from llvm/projects into llvm/runtimes enables the functionality. This code has a few improvements over the method provided by LLVM_BUILD_EXTERNAL_COMPILER_RT. Specifically the sub-ninja command is always invoked, so changes to compiler-rt source files will get built properly, so this patch can be used for iterative development with just-built tools. This first patch only works with compiler-rt. Support for other runtime projects will be coming in follow-up patches. Reviewers: chandlerc, bogner Subscribers: kubabrecka, llvm-commits Differential Revision: http://reviews.llvm.org/D20992 llvm-svn: 273620
* clang-format: [JS] handle conditionals in fields, default params.Martin Probst2016-06-232-3/+11
| | | | | | | | | | | | Summary: Reviewers: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D21658 llvm-svn: 273619
* MachineScheduler: Followup to debug message changesMatthias Braun2016-06-231-1/+0
| | | | | | | Do not dump intermediate state of the pending queue anymore now that we always dump the final state before picking. llvm-svn: 273618
* Codegen: [X86] preservere memory refs for folded umul_lohiKyle Butt2016-06-232-3/+42
| | | | | | | | | Memory references were not being propagated for this folded load. This prevented optimizations like LICM from hoisting the load. Added test to verify that this allows LICM to proceed. llvm-svn: 273617
* Codegen: LICM Remove check for exactly 1 register def.Kyle Butt2016-06-233-23/+43
| | | | | | | | | | | | | | | | | | When considering whether to split an instruction with a memory operand into an explicit load and a register-based instruction, we currently check that the resulting instruction has exactly 1 def. This prevents 2 important LICM optimizations: compares with memory operands, and double indirect calls. All the tests and the test-suite pass without the check. My guess as to original intent is to limit the additional register pressure created by the new instruction, but given that we only split out a single register, it is already limited. The licm-dominance test now checks actual memory loads for hoisting instead of undef, and it tests compares. hoist-invariant-load.ll now checks for 2 hoists, the intended hoist, and a bonus from calling a got-relative function in a loop. llvm-svn: 273616
OpenPOWER on IntegriCloud