summaryrefslogtreecommitdiffstats
path: root/llvm/utils
Commit message (Collapse)AuthorAgeFilesLines
* vim: add swiftcc keywordSaleem Abdulrasool2016-04-191-3/+3
| | | | | | Update the syntax highlighting for SVN r265480. llvm-svn: 266705
* [NFC] Header cleanupMehdi Amini2016-04-1810-14/+4
| | | | | | | | | | | | | | Removed some unused headers, replaced some headers with forward class declarations. Found using simple scripts like this one: clear && ack --cpp -l '#include "llvm/ADT/IndexedMap.h"' | xargs grep -L 'IndexedMap[<]' | xargs grep -n --color=auto 'IndexedMap' Patch by Eugene Kosov <claprix@yandex.ru> Differential Revision: http://reviews.llvm.org/D19219 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 266595
* Declare MVT::SimpleValueType as an int8_t sized enum. This removes 400 bytes ↵Craig Topper2016-04-171-3/+5
| | | | | | | | | | from TargetLoweringBase and probably other places. This required changing several places to print VT enums as strings instead of raw ints since the proper method to use to print became ambiguous. This is probably an improvement anyway. This also appears to save ~8K from an x86 self host build of llc. llvm-svn: 266562
* Update and fix LLVM_ENABLE_MODULES:Richard Smith2016-04-161-4/+0
| | | | | | | | | | | | | | | | 1) We need to add this flag prior to adding any other, in case the user has specified a -fmodule-cache-path= flag in their custom CXXFLAGS. Such a flag causes -Werror builds to fail, and thus all config checks fail, until we add the corresponding -fmodules flag. The modules selfhost bot does this, for instance. 2) Delete module maps that were putting .cpp files into modules. 3) Enable -fmodules-local-submodule-visibility, to get proper module visibility rules applied across submodules of the same module. Disable -fmodules for C builds, since that flag is not available there. llvm-svn: 266502
* Revert "Add LLVMGetAttrKindIDInContext in the C API in order to facilitate ↵Amaury Sechet2016-04-131-23/+0
| | | | | | | | migration away from LLVMAttribute" This reverts commit 0bcfd95c268bcb180a525e1837e84475df8acdc7. llvm-svn: 266259
* Add LLVMGetAttrKindIDInContext in the C API in order to facilitate migration ↵Amaury Sechet2016-04-131-0/+23
| | | | | | | | | | | | | | away from LLVMAttribute Summary: LLVMAttribute has outlived its utility and is becoming a problem for C API users that what to use all the LLVM attributes. In order to help moving away from LLVMAttribute in a smooth manner, this diff introduce LLVMGetAttrKindIDInContext, which can be used instead of the enum values. Reviewers: Wallbraker, whitequark, joker.eph, echristo Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18749 llvm-svn: 266257
* Delete mergefunctions.clang.svn.patchJF Bastien2016-04-121-14/+0
| | | | | | The patch doesn't apply, and was removed from zorg by rL266094. llvm-svn: 266112
* Minor code cleanup. NFC.Junmo Park2016-04-121-2/+2
| | | | llvm-svn: 266045
* vim: add missing keywordSaleem Abdulrasool2016-04-061-2/+2
| | | | | | | `source_filename` was introduced as a keyword in SVN r264884, but the syntax file was not updated. llvm-svn: 265572
* fixed to discard earlier advertisingSanjay Patel2016-04-051-3/+4
| | | | | | | Also, hardcode (there must be a better way...) the 'utils' dir in the advertisement, so it's easier to find. llvm-svn: 265444
* add example usage and workflow to --help outputSanjay Patel2016-04-051-2/+25
| | | | llvm-svn: 265430
* check or check-next the first line of the function tooSanjay Patel2016-04-051-5/+15
| | | | | | | | | | | | | | | | We could make this an option if people don't like it. But since part of the reason for using a script to generate checks is to prevent lazy checking that lets bugs crawl through, let's have the script check the first line too. For asm tests, it ensures that nothing unexpected has happened before the first line of asm. This matches the existing behavior of update_llc_test_checks.py. More discussion in PR22897: https://llvm.org/bugs/show_bug.cgi?id=22897 llvm-svn: 265414
* [TableGen] AsmMatcherEmitter.cpp: replace a sequence of "if" to "switch" in ↵Valery Pykhtin2016-04-051-2/+6
| | | | | | | | emitValidateOperandClass. Differential Revision: http://reviews.llvm.org/D18394 llvm-svn: 265412
* lit: python3 compatibility fixMatthias Braun2016-03-311-1/+8
| | | | llvm-svn: 265070
* [lit][googletest] Handle upstream gtest outputDaniel Dunbar2016-03-314-0/+67
| | | | | | | | | | | | | | | | | | | Summary: Upstream googletest prints "Running main() from gtest_main.cc" to stdout prior to running tests. LLVM removed that print statement in r61540. If a user were to use lit to run tests that use upstream googletest, however, lit reports "Running main()" as an invalid test name. To avoid such a failure, add an extra conditional to `formats/googletest.py`. Also add tests to demonstrate the modified behavior. Reviewers: abdulras, ddunbar Subscribers: ddunbar, llvm-commits, kastiglione Differential Revision: http://reviews.llvm.org/D18606 llvm-svn: 265034
* Submitted new file with wrong line endings. Correcting...Mike Spertus2016-03-281-7/+7
| | | | llvm-svn: 264620
* Use VS2015 Project Support for Natvis to eliminate the need to manually ↵Mike Spertus2016-03-282-3/+12
| | | | | | | | | install natvis files When using Visual Studio 2015, cmake now puts the native visualizers in llvm.sln, so the developer automatically sees custom visualizations. Much thanks to ariccio who provided extensive help on this change. (manual installation still needed on VS2013) llvm-svn: 264601
* workaround for an IR variable named %.Sanjay Patel2016-03-271-0/+2
| | | | | | (which SimplifyCFG can produce...) llvm-svn: 264543
* add scrubber for excessive leading whitespaceSanjay Patel2016-03-271-0/+3
| | | | llvm-svn: 264542
* abtest: Cleanup, improve commentsMatthias Braun2016-03-261-38/+48
| | | | llvm-svn: 264502
* abtest: Check all files, improve announcementsMatthias Braun2016-03-261-5/+6
| | | | | | | Simply searching for gooddir/* and baddir/* instead of *.s the script should also work with .o files. llvm-svn: 264484
* Put my abtest scripts into the util directoryMatthias Braun2016-03-263-0/+342
| | | | | | | | See http://lists.llvm.org/pipermail/llvm-dev/2016-March/097640.html There is also a description/tutorial in the comments of the abtest.py file. llvm-svn: 264482
* fix IR function name regex to allow hyphensSanjay Patel2016-03-251-2/+2
| | | | llvm-svn: 264422
* Add utility script to generate checks for opt or llc regression testsSanjay Patel2016-03-241-0/+355
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an enhancement of the existing update_llc_test_checks.py script. It adds some of the functionality from the script used in D17999 to make the IR checking more flexible. The bad news: This actually is 'My First Python Program'. Thus, it's likely that I have violated all best practices of Python programming if I've made a functional change from the original program. If you see anything that's obviously wrong, please let me know or feel free to fix it. I didn't even read any documentation... The good news: I tested this on ~10 existing opt/llc regression tests, and it does what I hoped for. It produces exact checking for IR regression tests and doesn't signficantly change the existing llc-with-x86-target asm checking. The opt tests that were modified in r263667, r263668, r263674, and r263679 are examples of the expected results, except that this version of the script puts the check lines ahead of the IR to follow the existing llc/asm behavior. If there are no complaints/fallout, we should be able to remove the original script. Extending this script to be used for non-x86 and clang regression tests would be the expected follow-up steps. llvm-svn: 264357
* don't hardcode the name of the llc checks scriptSanjay Patel2016-03-241-5/+2
| | | | | | | | | | We lose the 'utils' directory name in our advertising line with this change. We could retain that, but I don't see the point. This removes a dependency for making the script apply to more than 'llc'. Ie, we'll want to change the script name if it works with opt/clang too. llvm-svn: 264310
* reorganize llc checks script to allow more flexibility, part 2; NFCISanjay Patel2016-03-241-73/+104
| | | | | | | | The goal is to enhance this script to be used with opt and clang: Break 'main' into functions and change variable names to be more generic because we want to handle more than x86 asm output. llvm-svn: 264307
* reorganize llc checks script to allow more flexibility; NFCISanjay Patel2016-03-231-28/+31
| | | | | | | | | The goal is to enhance this script to be used with opt and clang: Group all of the regexes together, so it's easier to see what's going on. This will make it easier to break main() up into pieces too. Also, note that some of the regexes are for x86-specific asm. llvm-svn: 264197
* Typesafe visualization of PointerIntPairs in Visual StudioMike Spertus2016-03-181-2/+2
| | | | | | | In the <DisplayString> of PointerIntPair , I cast the pointer to the actual type, so VS can leverage it while visualizing, not unlike the recent change to PointerUnion visualization. In the expansion, the current code is casting to the incorrect type (wrong number of stars), so I fixed that as well. llvm-svn: 263821
* [lit] Enqueue tests on a separate thread to not hit limits on parallel queuesFilipe Cabecinhas2016-03-171-2/+14
| | | | | | | | | | | | | | | | | Summary: The multiprocessing.Queue.put() call can hang if we try queueing all the tests before starting to take them out of the queue. The current implementation hangs if tests exceed 2^^15, on Mac OS X. This might happen with a ninja check-all if one has a bunch of llvm projects. Reviewers: delcypher, bkramer Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17609 llvm-svn: 263731
* [lit] Hack lit to allow a test suite to request that it is run "early".Chandler Carruth2016-03-123-2/+14
| | | | | | | | | | | | | This lets us for example start running the unit test suite early. For 'check-llvm' on my machine, this drops the tim e from 44s to 32s!!!!! It's pretty ugly. I barely know how to write Python, so feel free to just tell me how I should write it instead. =D Thanks to Filipe and others for help. Differential Revision: http://reviews.llvm.org/D18089 llvm-svn: 263329
* Type correct Visual Studio native visualization for PointerUnionsMike Spertus2016-03-111-9/+9
| | | | | | Visualize pointer unions by their actual type rather than as void *. llvm-svn: 263270
* [TableGen] more helpful error message in MapTableEmitterNicolai Haehnle2016-03-101-2/+12
| | | | | | Differential Revision: http://reviews.llvm.org/D17275 llvm-svn: 263148
* [CodeGen] Add space-optimized EmitMergeInputChains1_2 to the DAG isel ↵Craig Topper2016-03-071-2/+2
| | | | | | matching tables. Shaves about 5100 bytes from the X86 matcher table. NFC llvm-svn: 262815
* TableGen: Accept itinerary data when checking for schedmodel completenessMatthias Braun2016-03-031-4/+4
| | | | llvm-svn: 262548
* TableGen: Display helpfull message for incomplete models.Matthias Braun2016-03-011-1/+7
| | | | llvm-svn: 262399
* TableGen: Check scheduling models for completenessMatthias Braun2016-03-012-0/+47
| | | | | | | | | | | | | | | | | | | | | | TableGen checks at compiletime that for scheduling models with "CompleteModel = 1" one of the following holds: - Is marked with the hasNoSchedulingInfo flag - The instruction is a subclass of Sched - There are InstRW definitions in the scheduling model Typical steps necessary to complete a model: - Ensure all pseudo instructions that are expanded before machine scheduling (usually everything handled with EmitYYY() functions in XXXTargetLowering). - If a CPU does not support some instructions mark the corresponding resource unsupported: "WriteRes<WriteXXX, []> { let Unsupported = 1; }". - Add missing scheduling information. Differential Revision: http://reviews.llvm.org/D17747 llvm-svn: 262384
* TableGen: Add hasNoSchedulingInfo to instructionsMatthias Braun2016-03-013-1/+4
| | | | | | | | | | | | | This introduces a new flag that indicates that a specific instruction will never be present when the MachineScheduler runs and therefore needs no scheduling information. This is in preparation for an upcoming commit which checks completeness of a scheduling model when tablegen runs. Differential Revision: http://reviews.llvm.org/D17728 llvm-svn: 262383
* [TableGen] AsmMatcher: Skip optional operands in the midle of instruction if ↵Nikolay Haustov2016-03-011-14/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | it is not present Previosy, if actual instruction have one of optional operands then other optional operands listed before this also should be presented. For example instruction v_fract_f32 v0, v1, mul:2 have one optional operand - OMod and do not have optional operand clamp. Previously this was not allowed because clamp is listed before omod in AsmString: string AsmString = "v_fract_f32$vdst, $src0_modifiers$clamp$omod"; Making this work required some hacks (both OMod and Clamp match classes have same PredicateMethod). Now, if MatchInstructionImpl meets formal optional operand that is not presented in actual instruction it skips this formal operand and tries to match current actual operand with next formal. Patch by: Sam Kolton Review: http://reviews.llvm.org/D17568 [AMDGPU] Assembler: Check immediate types for several optional operands in predicate methods With this change you should place optional operands in order specified by asm string: clamp -> omod offset -> glc -> slc -> tfe Fixes for several tests. Depends on D17568 Patch by: Sam Kolton Review: http://reviews.llvm.org/D17644 llvm-svn: 262314
* Reapply r262092: [FileCheck] Abort if -NOT is combined with another suffix.Paul Robinson2016-02-291-1/+18
| | | | | | | | | Combinations of suffixes that look useful are actually ignored; complaining about them will avoid mistakes. Differential Revision: http://reviews.llvm.org/D17587 llvm-svn: 262263
* [test-release.sh] Add lldb to list of projects (disabled by default)Daniel Sanders2016-02-291-0/+15
| | | | | | | | | | Reviewers: hans Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17070 llvm-svn: 262211
* Revert r262092, caught LLD testsPaul Robinson2016-02-261-18/+1
| | | | llvm-svn: 262093
* [FileCheck] Abort if -NOT is combined with another suffix.Paul Robinson2016-02-261-1/+18
| | | | | | | | | Combinations of suffixes that look useful actually are ignored; complaining about them will avoid mistakes. Differential Revision: http://reviews.llvm.org/D17587 llvm-svn: 262092
* AVX512F: Add GATHER/SCATTER assembler Intel syntax tests for knl/skx/avx . ↵Igor Breger2016-02-251-16/+20
| | | | | | | | Change memory operand parser handling. Differential Revision: http://reviews.llvm.org/D17564 llvm-svn: 261862
* Fix commentXinliang David Li2016-02-231-1/+1
| | | | llvm-svn: 261672
* [X86] Remove some unused encoding checks from the disassembler table building.Craig Topper2016-02-201-4/+0
| | | | llvm-svn: 261418
* [TableGen,X86] Add NDEBUG check to a variable initialization that's only ↵Craig Topper2016-02-181-0/+2
| | | | | | used by asserts. NFC llvm-svn: 261188
* [TableGen,X86] Remove extra optional operand from RawFrm. RawFrm with 2 ↵Craig Topper2016-02-181-3/+1
| | | | | | immediates is handled by RawFrmImm8/RawFrmImm16. llvm-svn: 261187
* [TableGen] Fix inconsistent spacing. NFCCraig Topper2016-02-161-2/+2
| | | | llvm-svn: 260935
* [TableGen] Stop passing by reference an integer that doesn't get modified. NFCCraig Topper2016-02-162-2/+2
| | | | llvm-svn: 260934
* [TableGen] Remove unused member variable. NFCCraig Topper2016-02-162-3/+0
| | | | llvm-svn: 260933
OpenPOWER on IntegriCloud