summaryrefslogtreecommitdiffstats
path: root/llvm/utils
Commit message (Collapse)AuthorAgeFilesLines
* This patch adds support for the vector quadword add/sub instructions introducedKit Barton2015-05-251-1/+3
| | | | | | | | | | | | | | | | | | | | in POWER8: vadduqm vaddeuqm vaddcuq vaddecuq vsubuqm vsubeuqm vsubcuq vsubecuq In addition to adding the instructions themselves, it also adds support for the v1i128 type for intrinsics (Intrinsics.td, Function.cpp, and IntrinsicEmitter.cpp). http://reviews.llvm.org/D9081 llvm-svn: 238144
* Improve check on git-svnrevert, better error messageRenato Golin2015-05-161-1/+6
| | | | | | | | | | | When the commit is not in the tree at all, find-rev returns 0 and prints an empty string. We need to catch that problem too, when trying to revert. Adding a list of possible problems, so that you can easily and quickly correct without having to edit the script again. llvm-svn: 237516
* [TableGen] Remove ListInit::size() in favor of getSize() which does the same ↵Craig Topper2015-05-141-2/+2
| | | | | | thing and is already used in most places. NFC. llvm-svn: 237341
* [TableGen] Replace some calls to ListInit::getSize() with ListInit::empty() ↵Craig Topper2015-05-142-3/+3
| | | | | | if it was just comparing to 0. NFC. llvm-svn: 237340
* YAML: Implement block scalar parsing.Alex Lorenz2015-05-131-0/+2
| | | | | | | | | | | | | | | | | | | | | This commit implements the parsing of YAML block scalars. Some code existed for it before, but it couldn't parse block scalars. This commit adds a new yaml node type to represent the block scalar values. This commit also deletes the 'spec-09-27' and 'spec-09-28' tests as they are identical to the test file 'spec-09-26'. This commit introduces 3 new utility functions to the YAML scanner class: `skip_s_space`, `advanceWhile` and `consumeLineBreakIfPresent`. Reviewers: Duncan P. N. Exon Smith Differential Revision: http://reviews.llvm.org/D9503 llvm-svn: 237314
* MC: Modernize MCOperand API naming. NFC.Jim Grosbach2015-05-133-5/+5
| | | | | | MCOperand::Create*() methods renamed to MCOperand::create*(). llvm-svn: 237275
* Reverting r237234, "Use std::bitset for SubtargetFeatures"Michael Kuperstein2015-05-134-41/+46
| | | | | | | The buildbots are still not satisfied. MIPS and ARM are failing (even though at least MIPS was expected to pass). llvm-svn: 237245
* Use std::bitset for SubtargetFeaturesMichael Kuperstein2015-05-134-46/+41
| | | | | | | | | | | Previously, subtarget features were a bitfield with the underlying type being uint64_t. Since several targets (X86 and ARM, in particular) have hit or were very close to hitting this bound, switching the features to use a bitset. No functional change. The first two times this was committed (r229831, r233055), it caused several buildbot failures. At least some of the ARM and MIPS ones were due to gcc/binutils issues, and should now be fixed. llvm-svn: 237234
* Fix tablegen's PrintFatalError function to run registered fileJames Y Knight2015-05-115-28/+24
| | | | | | | | | | | | | | | cleanups. Also, change code in tablegen which printed a message and then called "exit(1)" to use PrintFatalError, instead. This fixes instances where an empty output file was left behind after a failed tablegen invocation, which would confuse subsequent ninja runs into not attempting to rebuild. Differential Revision: http://reviews.llvm.org/D9608 llvm-svn: 237058
* Add polly support to sort_includes.pyTobias Grosser2015-05-091-7/+13
| | | | | | | | | | | | | | | Changes: - Add "isl/" as a system library prefix. Even though isl is regularly imported into polly, it is still used like an external library. - Add "json/" as a system library prefix. Polly uses json-cpp as external library. - Distinguish between llvm and subproject libraries. Always sort subprojects before LLVM. This was already the case with clang, as 'clang' comes before 'llvm', but we also want 'polly' to be sorted before 'llvm'. The sorting of headers that are not part of Polly or isl remains unchanged. llvm-svn: 236929
* Fix r236754: Add the missing yaml-bench dir to the makefile for utils.Alex Lorenz2015-05-071-1/+1
| | | | | | | | | | This commit adds the missing yaml-bench utility to the makefile in utils. It was missing before and it caused the regression tests to fail on some buildbots when llvm-lit couldn't find yaml-bench when llvm was built without cmake after I committed r236754. llvm-svn: 236761
* YAML: Enable the YAMLParser tests. Alex Lorenz2015-05-071-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | This commit enables the tests located in test/YAMLParser directory. Those tests were never actually enabled, as llvm-lit didn't pick up the files with the 'data' extension. The commit renames those test files to files with the 'test' extension so that llvm-lit would find them. This commit also modifies yaml-bench so that it returns an error status if an error occurred during parsing. It also adds the '-use-color' command line option to yaml-bench (to make sure that file check matches the error messages in the output stream). This commit modifies some of the renamed tests so that they wouldn't fail. It gets rid of XFAILs and uses the 'not' command instead for some of the tests that have to fail during parsing. This commit also adds some 'FIXME' comments to a couple of tests that are supposed to fail but currently pass because of various bugs in the implementation of the yaml parser. Reviewers: Justin Bogner Differential Revision: http://reviews.llvm.org/D9448 llvm-svn: 236754
* Vim: Fix some bugs in llvm indent plugin.Matthias Braun2015-05-041-3/+3
| | | | llvm-svn: 236464
* Vim: Set filetype=python for lit configuration files.Matthias Braun2015-05-041-0/+1
| | | | llvm-svn: 236463
* Lit: Allow overriding llvm tool paths+arguments, make -D an alias for --paramMatthias Braun2015-05-041-1/+1
| | | | | | | | | | | These changes allow usages where you want to pass an additional commandline option to all invocations of a specific llvm tool. Example: > llvm-lit -Dllc=llc -enable-misched -verify-machineinstrs Differential Revision: http://reviews.llvm.org/D9487 llvm-svn: 236461
* Remove std::move on return when it could prevent copy elision.Benjamin Kramer2015-05-011-1/+1
| | | | | | | | Found by -Wpessimizing-move, no functional change. The APFloat and PassManager change doesn't affect codegen as returning a by-value argument will always result in a move. llvm-svn: 236316
* [NFC] Updating FileCheck to reduce the std::vector interface used via cl::list.Chris Bieneman2015-04-291-6/+8
| | | | llvm-svn: 236164
* Drop Dragonegg from the release export scriptHans Wennborg2015-04-291-1/+1
| | | | | | Follow-up to r236077. llvm-svn: 236081
* Drop Dragonegg support from the release scriptHans Wennborg2015-04-291-113/+2
| | | | | | | | | It doesn't have a maintainer and none of the release testers test it, so I don't think it should be part of the release. http://reviews.llvm.org/D9331 llvm-svn: 236077
* test-release.sh: Drop some unused command-line options.Hans Wennborg2015-04-281-12/+0
| | | | | | These haven't done anything since before r142165. llvm-svn: 236061
* [TableGen] Don't leak Expanders and Operators in SetTheory.Craig Topper2015-04-242-3/+3
| | | | llvm-svn: 235697
* [TableGen] Use 'isa' to identify UnsetInits rather than comparing with the ↵Craig Topper2015-04-222-2/+2
| | | | | | singleton object created by UnsetInit::get(). Makes it more consistent with the other types. llvm-svn: 235465
* AVX-512: Added VPMOVx2M instructions for SKX,Elena Demikhovsky2015-04-211-0/+6
| | | | | | fixed encoding of VPMOVM2x. llvm-svn: 235385
* AVX-512: Added VPTESTM and VPTESTNM instructions for SKXElena Demikhovsky2015-04-211-0/+7
| | | | llvm-svn: 235383
* Enhanced vim support.Matthias Braun2015-04-218-27/+103
| | | | | | | | | This brings the utils/vim folder into a more vim-like format by moving the syntax hightlighting files into a syntax subdirectory. It adds some minimal settings that everyone should agree on to ftdetect/ftplugin and features a new indentation plugin for .ll files. llvm-svn: 235369
* Add support for v1i128 type.Kit Barton2015-04-171-0/+1
| | | | | | | | | | | | The v1i128 type is needed for the quadword add/substract instructions introduced in POWER8. Futhermore, the PowerPC ABI specifies that parameters of type v1i128 are to be passed in a single vector register, while parameters of type i128 are passed in pairs of GPRs. Thus, it is necessary to be able to differentiate between v1i128 and i128 in LLVM. http://reviews.llvm.org/D8564 llvm-svn: 235198
* Change range-based for-loops to be -Wrange-loop-analysis clean.Richard Trieu2015-04-151-1/+1
| | | | | | No functionality change. llvm-svn: 234963
* Add ladder graph utilityDaniel Berlin2015-04-141-0/+43
| | | | llvm-svn: 234917
* Use 'override/final' instead of 'virtual' for overridden methodsAlexander Kornienko2015-04-1111-89/+94
| | | | | | | | | | | | | | The patch is generated using clang-tidy misc-use-override check. This command was used: tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py \ -checks='-*,misc-use-override' -header-filter='llvm|clang' \ -j=32 -fix -format http://reviews.llvm.org/D8925 llvm-svn: 234679
* Reduce dyn_cast<> to isa<> or cast<> where possible.Benjamin Kramer2015-04-101-1/+1
| | | | | | No functional change intended. llvm-svn: 234586
* Use SmallVector instead of std::vector for uniquing X86 disassembler operand ↵Craig Topper2015-04-091-1/+2
| | | | | | sets. The number of operands is a small fixed size. llvm-svn: 234465
* Simplify some printing code by combining new lines onto previous strings. ↵Craig Topper2015-04-091-9/+3
| | | | | | Don't work so hard not to print a comma on the last entry of an array. llvm-svn: 234464
* Don't convert enum to strings just to put them in the uniquing map. Use the ↵Craig Topper2015-04-091-15/+12
| | | | | | enum directly. Only convert to a string for printing. llvm-svn: 234463
* Revert r234389. It really was needed but really should have been cstring ↵Craig Topper2015-04-081-0/+1
| | | | | | instead of string.h llvm-svn: 234390
* Remove unnecessary include. NFCCraig Topper2015-04-081-1/+0
| | | | llvm-svn: 234389
* Add boolean to PrintStackTraceOnErrorSignal to disable crash reporting.Pete Cooper2015-04-071-1/+1
| | | | | | | | | | | | | | | | | | | The current crash reporting on Mac OS is only disabled via an environment variable. This adds a boolean (default false) which can also disable crash reporting. The only client right now is the unittests which don't ever want crash reporting, but do want to detect killed programs. Reduces the time to run the APFloat unittests on my machine from [----------] 47 tests from APFloatTest (51250 ms total) to [----------] 47 tests from APFloatTest (765 ms total) Reviewed by Reid Kleckner and Justin Bogner llvm-svn: 234353
* [lit] Allow disabling an entire gtest suite, as is done in tsanReid Kleckner2015-04-071-1/+2
| | | | llvm-svn: 234336
* [TableGen] Prevent invalid code generation when emitting AssemblerPredicate ↵Toma Tabacu2015-04-071-1/+3
| | | | | | | | | | | | | | | | | | | conditions. Summary: The loop which emits AssemblerPredicate conditions also links them together by emitting a '&&'. If the 1st predicate is not an AssemblerPredicate, while the 2nd one is, nothing gets emitted for the 1st one, but we still emit the '&&' because of the 2nd predicate. This generated code looks like "( && Cond2)" and is invalid. Reviewers: dsanders Reviewed By: dsanders Subscribers: dsanders, llvm-commits Differential Revision: http://reviews.llvm.org/D8294 llvm-svn: 234312
* [lit] Skip gtest names starting with DISABLED_Reid Kleckner2015-04-061-0/+4
| | | | | | | | | | | The sanitizer test suite uses this idiom to disable a test. Now that we actually check if a test ran after invoking it, we see that zero tests ran, and complain. Instead, ignore tests starting with DISABLED_ completely. Fixes the sanitizer test suite failures on Windows. llvm-svn: 234247
* [lit] Fix running gtest type-parameterized tests on WindowsReid Kleckner2015-04-061-4/+11
| | | | | | | | | | | | | | The '/' character in the test name of a type-parameterized test is not a path separator, and should not be '\' on Windows. We were passing a test name to --gtest_filter which found no tests, so the exit code was zero, indicating a passed test. This bug has been here since r84387 in 2009, when Jeff Yasskin added the original lit support for type-paratermized tests. Somewhere along the line some of the ValueMapTests started failing, but we can fix those separately. llvm-svn: 234242
* TableGen: Generate more const goodnessMatthias Braun2015-04-011-2/+2
| | | | llvm-svn: 233857
* Fix AllocationPriority not getting set for derived register classes.Matthias Braun2015-03-311-1/+3
| | | | llvm-svn: 233752
* RegAllocGreedy: Allow target to specify register class ordering.Matthias Braun2015-03-313-0/+6
| | | | | | | | | | Specify an allocation order with a register class. This is used by register allocators with a greedy heuristic. This is usefull as it is sometimes beneficial to color more constrained classes first. Differential Revision: http://reviews.llvm.org/D8626 llvm-svn: 233743
* [MCInstPrinter] Enable MCInstPrinter to change its behavior based on theAkira Hatanaka2015-03-273-12/+36
| | | | | | | | | | | | | | | | | | | | per-function subtarget. Currently, code-gen passes the default or generic subtarget to the constructors of MCInstPrinter subclasses (see LLVMTargetMachine::addPassesToEmitFile), which enables some targets (AArch64, ARM, and X86) to change their instprinter's behavior based on the subtarget feature bits. Since the backend can now use different subtargets for each function, instprinter has to be changed to use the per-function subtarget rather than the default subtarget. This patch takes the first step towards enabling instprinter to change its behavior based on the per-function subtarget. It adds a bit "PassSubtarget" to AsmWriter which tells table-gen to pass a reference to MCSubtargetInfo to the various print methods table-gen auto-generates. I will follow up with changes to instprinters of AArch64, ARM, and X86. llvm-svn: 233411
* Revert "Use std::bitset for SubtargetFeatures"Michael Kuperstein2015-03-244-41/+46
| | | | | | | | This reverts commit r233055. It still causes buildbot failures (gcc running out of memory on several platforms, and a self-host failure on arm), although less than the previous time. llvm-svn: 233068
* Use std::bitset for SubtargetFeaturesMichael Kuperstein2015-03-244-46/+41
| | | | | | | | | | | | | Previously, subtarget features were a bitfield with the underlying type being uint64_t. Since several targets (X86 and ARM, in particular) have hit or were very close to hitting this bound, switching the features to use a bitset. No functional change. The first time this was committed (r229831), it caused several buildbot failures. At least some of the ARM ones were due to gcc/binutils issues, and should now be fixed. Differential Revision: http://reviews.llvm.org/D8542 llvm-svn: 233055
* Another set of missing raw_ostream.h. Still no functional change.Benjamin Kramer2015-03-231-0/+1
| | | | llvm-svn: 232993
* More missing includes only visible to MSVC.Benjamin Kramer2015-03-231-0/+1
| | | | | | NFC. llvm-svn: 232981
* [Tablegen] Attempt to add support for patterns containing nodes with ↵Craig Topper2015-03-201-22/+27
| | | | | | | | | | multiple results. This is needed for AVX512 masked scatter/gather support. The R600 change is necessary to remove a hack that was working around the lack of multiple results. llvm-svn: 232798
* Do not track subregister liveness when it brings no benefitsMatthias Braun2015-03-193-1/+17
| | | | | | | | | | | Some subregisters are only to indicate different access sizes, while not providing any way to actually divide the register up into multiple disjunct parts. Avoid tracking subregister liveness in these cases as it is not beneficial. Differential Revision: http://reviews.llvm.org/D8429 llvm-svn: 232695
OpenPOWER on IntegriCloud