summaryrefslogtreecommitdiffstats
path: root/llvm/utils
Commit message (Collapse)AuthorAgeFilesLines
...
* [SKX] Enabling mask instructions: encoding, loweringRobert Khasanov2014-07-231-0/+4
| | | | | | | | KMOVB, KMOVW, KMOVD, KMOVQ, KNOTB, KNOTW, KNOTD, KNOTQ Reviewed by Elena Demikhovsky <elena.demikhovsky@intel.com> llvm-svn: 213757
* Add openmp to the list of tagged things.Bill Wendling2014-07-221-1/+1
| | | | llvm-svn: 213608
* Revert of r213521. This change introduced a non-hermetic test (depending on aRichard Smith2014-07-223-7/+7
| | | | | | | | | | file not in the test/ area). Backing out now so that this test isn't part of the 3.5 branch. Original commit message: "TableGen: Allow AddedComplexity values to be negative [...]" llvm-svn: 213596
* test-release.sh: Add support for dot releasesTom Stellard2014-07-211-1/+1
| | | | llvm-svn: 213580
* [SKX] Enabling SKX target and AVX512BW, AVX512DQ, AVX512VL features.Robert Khasanov2014-07-211-0/+14
| | | | | | | | | | | | Enabling HasAVX512{DQ,BW,VL} predicates. Adding VK2, VK4, VK32, VK64 masked register classes. Adding new types (v64i8, v32i16) to VR512. Extending calling conventions for new types (v64i8, v32i16) Patch by Zinovy Nis <zinovy.y.nis@intel.com> Reviewed by Elena Demikhovsky <elena.demikhovsky@intel.com> llvm-svn: 213545
* TableGen: Allow AddedComplexity values to be negativeTom Stellard2014-07-213-7/+7
| | | | | | | | | | This is useful for cases when stand-alone patterns are preferred to the patterns included in the instruction definitions. Instead of requiring that stand-alone patterns set a larger AddedComplexity value, which can be confusing to new developers, the allows us to reduce the complexity of the included patterns to achieve the same result. llvm-svn: 213521
* Remove uses of the redundant ".reset(nullptr)" of unique_ptr, in favor of ↵David Blaikie2014-07-191-1/+1
| | | | | | | | | | | ".reset()" It's also possible to just write "= nullptr", but there's some question of whether that's as readable, so I leave it up to authors to pick which they prefer for now. If we want to discuss standardizing on one or the other, we can do that at some point in the future. llvm-svn: 213438
* TableGen: Add 'static' to a large array to avoid a huge stack allocationReid Kleckner2014-07-171-1/+1
| | | | | | | | Speculative fix for a -Wframe-larger-than warning from gcc. Clang will implicitly promote such constant arrays to globals, so in theory it won't hit this. llvm-svn: 213298
* [X86] AVX512: Add disassembler support for compressed displacementAdam Nemet2014-07-172-2/+20
| | | | | | | | | | | | There are two parts here. First is to modify tablegen to adjust the encoding type ENCODING_RM with the scaling factor. The second is to use the new encoding types to compute the correct displacement in the decoder. Fixes <rdar://problem/17608489> llvm-svn: 213281
* [TABLEGEN] Do not crash on intrinsics with names longer than 40 charactersJustin Holewinski2014-07-171-2/+3
| | | | | | Differential Revision: http://reviews.llvm.org/D4537 llvm-svn: 213253
* [lit] Add --show-unsupported flag to LITEric Fiselier2014-07-172-4/+7
| | | | llvm-svn: 213227
* Move Post RA Scheduling flag bit into SchedMachineModelSanjay Patel2014-07-151-0/+4
| | | | | | | | | | | | | | | | | | | | | Refactoring; no functional changes intended Removed PostRAScheduler bits from subtargets (X86, ARM). Added PostRAScheduler bit to MCSchedModel class. This bit is set by a CPU's scheduling model (if it exists). Removed enablePostRAScheduler() function from TargetSubtargetInfo and subclasses. Fixed the existing enablePostMachineScheduler() method to use the MCSchedModel (was just returning false!). Added methods to TargetSubtargetInfo to allow overrides for AntiDepBreakMode, CriticalPathRCs, and OptLevel for PostRAScheduling. Added enablePostRAScheduler() function to PostRAScheduler class which queries the subtarget for the above values. Preserved existing scheduler behavior for ARM, MIPS, PPC, and X86: a. ARM overrides the CPU's postRA settings by enabling postRA for any non-Thumb or Thumb2 subtarget. b. MIPS overrides the CPU's postRA settings by enabling postRA for everything. c. PPC overrides the CPU's postRA settings by enabling postRA for everything. d. X86 is the only target that actually has postRA specified via sched model info. Differential Revision: http://reviews.llvm.org/D4217 llvm-svn: 213101
* Option: Propagate flags from groups to options in each groupReid Kleckner2014-07-121-11/+15
| | | | | | | This should make it easy to set a flag for a whole group of clang driver options. llvm-svn: 212865
* Add FileCheck -implicit-check-not option to allow stricter tests without ↵Alexander Kornienko2014-07-111-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | adding too many CHECK-NOTs manually. Summary: Add FileCheck -implicit-check-not option which allows specifying a pattern that should only occur in the input when explicitly matched by a positive check. This feature allows checking tool diagnostics in a way clang -verify does it for compiler diagnostics. The option has been tested on a number of clang-tidy checks, I'll post a link to the clang-tidy patch to this thread. Once there's an agreement on the general direction, I can add tests and documentation. Reviewers: djasper, bkramer Reviewed By: bkramer Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D4462 llvm-svn: 212810
* Change an assert() to a diagnostic.Jim Grosbach2014-07-091-3/+5
| | | | llvm-svn: 212637
* Use correct memeber when displaying StringMap's size.Nikola Smiljanic2014-07-091-2/+2
| | | | llvm-svn: 212588
* [testing]: lld generally lives in tools/, so fix llvm-lit.Tim Northover2014-07-071-1/+1
| | | | | | Otherwise we can't run individual tests directly ("llvm-lit /path/to/test") llvm-svn: 212461
* Update the MemoryBuffer API to use ErrorOr.Rafael Espindola2014-07-062-12/+17
| | | | llvm-svn: 212405
* SourceMgr: make valid buffer IDs start from oneAlp Toker2014-07-061-2/+2
| | | | | | | | | | Use 0 for the invalid buffer instead of -1/~0 and switch to unsigned representation to enable more idiomatic usage. Also introduce a trivial SourceMgr::getMainFileID() instead of hard-coding 0/1 to identify the main file. llvm-svn: 212398
* TableGen: introduce support for MSBuiltinSaleem Abdulrasool2014-07-043-0/+57
| | | | | | | | | | | | | Add MSBuiltin which is similar in vein to GCCBuiltin. This allows for adding intrinsics for Microsoft compatibility to individual instructions. This is needed to permit the creation of ARM specific MSVC extensions. This is not currently in use, and requires an associated change in clang to enable use of the intrinsics defined by this new class. This merely sets the LLVM portion of the infrastructure in place to permit the use of this functionality. A separate set of changes will enable the new intrinsics. llvm-svn: 212350
* Revert "Introduce a string_ostream string builder facilty"Alp Toker2014-06-263-15/+19
| | | | | | Temporarily back out commits r211749, r211752 and r211754. llvm-svn: 211814
* Introduce a string_ostream string builder faciltyAlp Toker2014-06-263-19/+15
| | | | | | | | | | | | | | | | | | | | string_ostream is a safe and efficient string builder that combines opaque stack storage with a built-in ostream interface. small_string_ostream<bytes> additionally permits an explicit stack storage size other than the default 128 bytes to be provided. Beyond that, storage is transferred to the heap. This convenient class can be used in most places an std::string+raw_string_ostream pair or SmallString<>+raw_svector_ostream pair would previously have been used, in order to guarantee consistent access without byte truncation. The patch also converts much of LLVM to use the new facility. These changes include several probable bug fixes for truncated output, a programming error that's no longer possible with the new interface. llvm-svn: 211749
* Use SourceMgr::getMemoryBuffer() in a couple of placesAlp Toker2014-06-251-1/+1
| | | | | | Cleanup only. llvm-svn: 211656
* [Emacs] Use spaces rather than tabs for indentation in tablegen-modeAdam Nemet2014-06-241-0/+1
| | | | llvm-svn: 211564
* not: Only consider exit code 3 to be a crash with --crashReid Kleckner2014-06-231-4/+5
| | | | | | | This fixes Clang's test/Index/comment-xml-schema.c with Cygwin's xmllint.exe, which uses exit(3) for XML validation failure. llvm-svn: 211550
* Delete utils/FileUpdate.Rafael Espindola2014-06-234-115/+2
| | | | | | It is unused and it looks like it was never used. llvm-svn: 211508
* Remove bogus configure checkDavid Greene2014-06-191-4/+0
| | | | | | | Configure creates makefiles, so it doesn't make sense to check for them to see if we can configure. llvm-svn: 211301
* Add option to keep flavor out of the install directoryDavid Greene2014-06-191-1/+5
| | | | | | | | Sometimes we want to install things in "standard" locations and the flavor directories interfere with that. Add an option to keep them out of the install path. llvm-svn: 211300
* Turn of -Werror by defaultDavid Greene2014-06-191-3/+7
| | | | | | Don't build with -Werror unless asked to. llvm-svn: 211299
* Remove OwningPtr.h and associated testsAlp Toker2014-06-191-8/+0
| | | | | | llvm::OwningPtr is superseded by std::unique_ptr. llvm-svn: 211259
* Replace some assert(0)'s with llvm_unreachable.Craig Topper2014-06-181-1/+1
| | | | llvm-svn: 211141
* lit: simplify population of the actual_inputs arrayHans Wennborg2014-06-171-3/+3
| | | | | | | Add all inputs to the array, except those starting with @, which are treated as response files and expanded. llvm-svn: 211119
* Move SetTheory from utils/TableGen into lib/TableGen so Clang can use it.James Molloy2014-06-176-469/+3
| | | | llvm-svn: 211100
* Revert "lit: warn when passed invalid pathname" (r210597)Hans Wennborg2014-06-161-5/+3
| | | | | | | | | It was pointed out that this breaks the "virtual test discovery" mechanism, which allows for narming tests in the test exec root. Reverting until I can figure out how to fix this. llvm-svn: 211048
* Remove broken include.Rafael Espindola2014-06-131-1/+0
| | | | | | Looks like I got some git merge wrong. llvm-svn: 210911
* Fix KillTheDoctor after r210725.Rafael Espindola2014-06-131-2/+4
| | | | | | | We don't map these windows errors to generic ones since errc::timed_out is not defined on mingw. Just use the raw windows error value. llvm-svn: 210910
* [Win32] Let utils/not aware of abort(), aka llvm_unreachable(), in msvcrt.NAKAMURA Takumi2014-06-131-0/+7
| | | | | | | It has exit code as 3. abort(), aka unreachable, may be handled as crash. FIXME: Could we move this into Win32/Program.inc? llvm-svn: 210895
* Remove the last uses of 'using std::error_code'Rafael Espindola2014-06-132-7/+3
| | | | | | This finishes the transition to std::error_code. llvm-svn: 210877
* Fix the build of KillTheDoctor.Rafael Espindola2014-06-121-9/+10
| | | | llvm-svn: 210843
* Don't use 'using std::error_code' in include/llvm.Rafael Espindola2014-06-122-0/+2
| | | | | | This should make sure that most new uses use the std prefix. llvm-svn: 210835
* Remove system_error.h.Rafael Espindola2014-06-124-5/+5
| | | | | | | This is a minimal change to remove the header. I will remove the occurrences of "using std::error_code" in a followup patch. llvm-svn: 210803
* Use std::error_code instead of llvm::error_code.Rafael Espindola2014-06-111-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea of this patch is to turn llvm/Support/system_error.h into a transitional header that just brings in the erorr_code api to the llvm namespace. I will remove it shortly afterwards. The cases where the general idea needed some tweaking: * std::errc is a namespace in msvc, so we cannot use "using std::errc". I could add an #ifdef, but there were not that many uses, so I just added std:: to them in this patch. * Template specialization had to be moved to the std namespace in this patch set already. * The msvc implementation of default_error_condition doesn't seem to provide the same transformations as we need. Not too surprising since the standard doesn't actually say what "equivalent" means. I fixed the problem by keeping our old mapping and using it at error_code construction time. Despite these shortcomings I think this is still a good thing. Some reasons: * The different implementations of system_error might improve over time. * It removes 925 lines of code from llvm already. * It removes 6313 bytes from the text segment of the clang binary when it is built with gcc and 2816 bytes when building with clang and libstdc++. llvm-svn: 210687
* Remove windows_error.Rafael Espindola2014-06-111-1/+5
| | | | | | | | | | MSVC doesn't seem to provide any is_error_code_enum enumeration for the windows errors. Fortunately very few places in llvm have to handle raw windows errors, so we can just construct the corresponding error_code directly. llvm-svn: 210631
* lit: warn when passed invalid pathnameHans Wennborg2014-06-101-3/+5
| | | | | | | | | | | | | | | It would previously say things like warning: input 'test/Frontend/foo.c' contained no tests and have the user pull their hair trying to figure out what's wrong with that file. This patch changes the message to the much clearer: warning: no such file or directory: 'test/Frontend/foo.c' Differential Revision: http://reviews.llvm.org/D4097 llvm-svn: 210597
* Add detection of OS X relocatable SDK to compiler-rt as a lit.util functionAlexander Potapenko2014-06-101-0/+17
| | | | | | | | | | | | Clang's lit cfg already detects the currently selected SDK via "xcrun --show-sdk-path". The same thing should be done for compiler-rt tests, to make them work on recent OS X versions. Instead of duplicating the detection code, this patch extracts the detection function into a lit.util method. Patch by Kuba Brecka (kuba.brecka@gmail.com), reviewed at http://reviews.llvm.org/D4072 llvm-svn: 210534
* Condition codes AL and NV are invalid in the aliases that useArtyom Skrobov2014-06-101-3/+46
| | | | | | | | | | | | | | inverted condition codes (CINC, CINV, CNEG, CSET, and CSETM). Matching aliases based on "immediate classes", when disassembling, wasn't previously supported, hence adding MCOperandPredicate into class Operand, and implementing the support for it in AsmWriterEmitter. The parsing for those aliases was already custom, so just adding the missing condition into AArch64AsmParser::parseCondCode. llvm-svn: 210528
* Refactoring in AsmWriterEmitter::EmitPrintAliasInstruction()Artyom Skrobov2014-06-101-11/+6
| | | | llvm-svn: 210527
* [C++11] Use 'nullptr'.Craig Topper2014-06-083-4/+5
| | | | llvm-svn: 210442
* AsmMatchers: Use unique_ptr to manage ownership of MCParsedAsmOperandDavid Blaikie2014-06-081-24/+23
| | | | | | | | | | | | I saw at least a memory leak or two from inspection (on probably untested error paths) and r206991, which was the original inspiration for this change. I ran this idea by Jim Grosbach a few weeks ago & he was OK with it. Since it's a basically mechanical patch that seemed sufficient - usual post-commit review, revert, etc, as needed. llvm-svn: 210427
* really fix the windows build.Rafael Espindola2014-05-311-2/+2
| | | | llvm-svn: 209964
OpenPOWER on IntegriCloud