summaryrefslogtreecommitdiffstats
path: root/llvm/utils
Commit message (Collapse)AuthorAgeFilesLines
...
* Value initialize MCRegisterClasses. Not sure how could miss this during the ↵Benjamin Kramer2012-02-081-2/+2
| | | | | | MCTargetDesc refactor. llvm-svn: 150076
* This is a small patch with a couple of improvements for running lit with ↵Andrew Trick2012-02-062-2/+9
| | | | | | | | | | | | | --debug: 1. Added a status note when a config file is loaded directly with load_config. This helps notice loads of lit.cfg from lit.site.cfg 2. Added a status note on the result of a config load. Previously, it was just notifying that it tries to load a config file. Now it will also say whether the load succeeded or the file wasn't found The two changes give better visibility into which config files were actually loaded by lit. The effect is only on --debug runs. Patch by Eli Bendersky! llvm-svn: 149932
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-0511-41/+33
| | | | llvm-svn: 149814
* Increment DFAStateEntryTable index for sentinel entry.Brendon Cahoon2012-02-031-1/+3
| | | | | | | | | When adding the {-1, -1} entry to the DFAStateInputTable, we need to increment the index used to populate the DFAStateEntryTable. Otherwise, the entry table will be off by one for each transition after the {-1, -1} entry. PR11908. llvm-svn: 149713
* Replace the old --with-cxx-* configure options with a single ↵Rafael Espindola2012-02-031-8/+6
| | | | | | | | | --with-gcc-toolchain that just uses the new toolchain probing logic. This fixes linking with -m32 on 64 bit systems (the /32 dir was not being added to the search). llvm-svn: 149651
* Specify SubRegIndex components on the index itself.Jakob Stoklund Olesen2012-02-012-25/+77
| | | | | | | | | | | | | | | | | It is simpler to define a composite index directly: def ssub_2 : SubRegIndex<[dsub_1, ssub_0]>; def ssub_3 : SubRegIndex<[dsub_1, ssub_1]>; Than specifying the composite indices on each register: CompositeIndices = [(ssub_2 dsub_1, ssub_0), (ssub_3 dsub_1, ssub_1)] in ... This also makes it clear that SubRegIndex composition is supposed to be unique. llvm-svn: 149556
* Fix a bug in the TopoOrderRC comparison function.Jakob Stoklund Olesen2012-02-011-1/+1
| | | | | | | | | | | The final tie breaker comparison also needs to return +/-1, or 0. This is not a less() function. This could cause otherwise identical super-classes to be ordered unstably, depending on what the system qsort routine does with a bad compare function. llvm-svn: 149549
* Avoid emitting empty arrays, they're not standard C++.Jakob Stoklund Olesen2012-02-011-6/+11
| | | | | | | It's only by luck that we haven't produced any yet, and clang refuses to compile them. llvm-svn: 149546
* Don't assign a value to NUM_TARGET_NAMED_SUBREGS.Jakob Stoklund Olesen2012-01-311-2/+1
| | | | | | It was wrong and completely unused. llvm-svn: 149433
* Move the composite map into CodeGenSubRegIndex.Jakob Stoklund Olesen2012-01-313-30/+51
| | | | | | Each SubRegIndex keeps track of how it composes. llvm-svn: 149423
* Add a TableGen CodeGenSubRegIndex class.Jakob Stoklund Olesen2012-01-313-64/+144
| | | | | | | | | This class is used to represent SubRegIndex instances instead of the raw Record pointers that were used before. No functional change intended. llvm-svn: 149418
* Remove Deprecated FeaturesDavid Greene2012-01-271-250/+51
| | | | | | | | | | | | Move to a model where we build whatever branches are checked out in the source directories. This was a bit too smart (and complicated) in handling details best left to the user and the revision control system. In addition, get rid of support for llvm-gcc and building gcc as these are no longer necessary. llvm-svn: 149149
* Use -H on darwin as well.Eric Christopher2012-01-261-1/+1
| | | | | | Patch by Liang Wang! llvm-svn: 149085
* Tidy up. Trailing whitespace.Jim Grosbach2012-01-241-24/+24
| | | | llvm-svn: 148856
* Widen the instruction encoder that TblGen emits to a 64 bits, which should ↵Owen Anderson2012-01-241-7/+7
| | | | | | accomodate every target I can think of offhand. llvm-svn: 148833
* Add an (interleave A, B, ...) SetTheory operator.Jakob Stoklund Olesen2012-01-241-0/+19
| | | | | | This will interleave the elements from two or more lists. llvm-svn: 148824
* Help GCC along with code that's actually unreachable.David Blaikie2012-01-221-0/+3
| | | | | | | | Unfortunately I don't think there's a fix for this that will work upstream and also satisfy Clang's -Wunreachable-code, which is a pity. But I'll give it some more thought -perhaps there's some way out. llvm-svn: 148645
* Remove unreachable defaults from gtest.David Blaikie2012-01-213-5/+0
| | | | | | This will ensure LLVM and Clang build -Wswitch-enum-redundant-default (an on-by-default warning I'm about to add to Clang). llvm-svn: 148639
* Extend Attributes to 64 bitsKostya Serebryany2012-01-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Problem: LLVM needs more function attributes than currently available (32 bits). One such proposed attribute is "address_safety", which shows that a function is being checked for address safety (by AddressSanitizer, SAFECode, etc). Solution: - extend the Attributes from 32 bits to 64-bits - wrap the object into a class so that unsigned is never erroneously used instead - change "unsigned" to "Attributes" throughout the code, including one place in clang. - the class has no "operator uint64 ()", but it has "uint64_t Raw() " to support packing/unpacking. - the class has "safe operator bool()" to support the common idiom: if (Attributes attr = getAttrs()) useAttrs(attr); - The CTOR from uint64_t is marked explicit, so I had to add a few explicit CTOR calls - Add the new attribute "address_safety". Doing it in the same commit to check that attributes beyond first 32 bits actually work. - Some of the functions from the Attribute namespace are worth moving inside the class, but I'd prefer to have it as a separate commit. Tested: "make check" on Linux (32-bit and 64-bit) and Mac (10.6) built/run spec CPU 2006 on Linux with clang -O2. This change will break clang build in lib/CodeGen/CGCall.cpp. The following patch will fix it. llvm-svn: 148553
* Add a CoveredBySubRegs property to Register descriptions.Jakob Stoklund Olesen2012-01-182-12/+41
| | | | | | | | | | | | | | | | When set, this bit indicates that a register is completely defined by the value of its sub-registers. Use the CoveredBySubRegs property to infer which super-registers are call-preserved given a list of callee-saved registers. For example, the ARM registers D8-D15 are callee-saved. This now automatically implies that Q4-Q7 are call-preserved. Conversely, Win64 callees save XMM6-XMM15, but the corresponding YMM6-YMM15 registers are not call-preserved because they are not fully defined by their sub-registers. llvm-svn: 148363
* [lit] Add a --filter option which is useful when dealing with virtual testDaniel Dunbar2012-01-181-0/+18
| | | | | | paths. llvm-svn: 148362
* Add TableGen support for callee saved registers.Jakob Stoklund Olesen2012-01-173-0/+56
| | | | | | | | | Targets can now add CalleeSavedRegs defs to their *CallingConv.td file. TableGen will use this to create a *_SaveList array suitable for returning from getCalleeSavedRegs() as well as a *_RegMask bit mask suitable for returning from getCallPreservedMask(). llvm-svn: 148346
* Intel syntax: Ignore mnemonic aliases.Devang Patel2012-01-171-1/+3
| | | | llvm-svn: 148316
* Add an LLDB data formatter script for llvm::SmallVector, maybe this is ↵Benjamin Kramer2012-01-171-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | helpful to someone else. This lets lldb give sane output for SmallVectors, e.g. Before: (lldb) p sv (llvm::SmallVector<int, 10>) $0 = { (llvm::SmallVectorImpl<int>) llvm::SmallVectorImpl<int> = { (llvm::SmallVectorTemplateBase<int>) llvm::SmallVectorTemplateBase<int> = { (llvm::SmallVectorTemplateCommon<int>) llvm::SmallVectorTemplateCommon<int> = { (llvm::SmallVectorBase) llvm::SmallVectorBase = { (void *) BeginX = 0x00007fff5fbff960 ... } After: (lldb) p sv (llvm::SmallVector<int, 10>) $0 = { (int) [0] = 42 (int) [1] = 23 ... } The script is still a bit rough so expect crashes for vectors of complex types. Synthetic children are _not_ available in xcode 4.2, newer LLDBs should work though. llvm-svn: 148308
* Provide better messages in llvm_unreachable.David Blaikie2012-01-171-1/+1
| | | | llvm-svn: 148293
* Remove unreachable code. (replace with llvm_unreachable to help GCC where ↵David Blaikie2012-01-172-2/+2
| | | | | | necessary) llvm-svn: 148284
* Removing unused default switch cases in switches over enums that already ↵David Blaikie2012-01-161-3/+0
| | | | | | | | account for all enumeration values explicitly. (This time I believe I've checked all the -Wreturn-type warnings from GCC & added the couple of llvm_unreachables necessary to silence them. If I've missed any, I'll happily fix them as soon as I know about them) llvm-svn: 148262
* Skip the NAME field when forming tuples.Jakob Stoklund Olesen2012-01-131-0/+3
| | | | llvm-svn: 148147
* Delete CodeInit and CodeRecTy from TableGen.Jakob Stoklund Olesen2012-01-132-4/+4
| | | | | | | The code type was always identical to a string anyway. Now it is simply a synonym. The code literal syntax [{...}] is still valid. llvm-svn: 148092
* Added MVT::v2f16Pete Cooper2012-01-121-0/+1
| | | | llvm-svn: 148067
* Disable the crash reporter when running lit tests.Argyrios Kyrtzidis2012-01-111-1/+1
| | | | llvm-svn: 147965
* Record asm variant id in MatchEntry and check it while matching instruction.Devang Patel2012-01-101-6/+14
| | | | llvm-svn: 147858
* Remove unnecessary default cases in switches that cover all enum values.David Blaikie2012-01-104-5/+0
| | | | llvm-svn: 147855
* Use descriptive variable name and remove incorrect operand number check.Devang Patel2012-01-091-12/+9
| | | | llvm-svn: 147802
* Split AsmParser into two components - AsmParser and AsmParserVariantDevang Patel2012-01-093-77/+111
| | | | | | | AsmParser holds info specific to target parser. AsmParserVariant holds info specific to asm variants supported by the target. llvm-svn: 147787
* Remove VectorExtras. This unused helper was written for a type of API that ↵Benjamin Kramer2012-01-071-1/+0
| | | | | | is discouraged now. llvm-svn: 147738
* Fix TableGen so that it will emit the correct signature for FastEmit_f:Cameron Zwarich2012-01-071-1/+1
| | | | | | | | | | | | | | | | | /// FastEmit_f - This method is called by target-independent code /// to request that an instruction with the given type, opcode, and /// floating-point immediate operand be emitted. virtual unsigned FastEmit_f(MVT VT, MVT RetVT, unsigned Opcode, const ConstantFP *FPImm); Currently, it emits an accidentally overloaded version without the const on the ConstantFP*. This doesn't affect anything in the tree, since nothing causes that method to be autogenerated, but I have been playing with some ARM TableGen refactorings that hit this problem. llvm-svn: 147727
* Refactor.Devang Patel2012-01-071-38/+45
| | | | | | Store AsmParser info locally. A small step towards emitting match entries for multiple asm variants. llvm-svn: 147710
* Eliminate an error check that may not work with all asm syntax variants.Devang Patel2012-01-071-1/+2
| | | | llvm-svn: 147708
* lit/lit.TestRunner: Add an extra_substitutions argument for executeShTest --Daniel Dunbar2012-01-061-4/+7
| | | | | | useful for test suites which want to piggyback onto the "shtest" format style. llvm-svn: 147684
* Do not hard code asm variant number.Devang Patel2012-01-051-2/+7
| | | | llvm-svn: 147583
* Don't use enums larger than 1 << 31 for target features.Jakob Stoklund Olesen2012-01-031-16/+29
| | | | | | Patch by Andy Zhang! llvm-svn: 147491
* Add disassembler support for VPERMIL2PD and VPERMIL2PS.Craig Topper2011-12-301-5/+9
| | | | llvm-svn: 147368
* Add FMA4 instructions to disassembler.Craig Topper2011-12-302-1/+10
| | | | llvm-svn: 147367
* ARM VFP assembly parsing and encoding for VCVT(float <--> fixed point).Jim Grosbach2011-12-221-0/+2
| | | | | | rdar://10558523 llvm-svn: 147189
* Remove broken command to copy tblgen tool.Bob Wilson2011-12-221-3/+0
| | | | | | | tblgen has been renamed to llvm-tblgen so this command has been failing, and it's no longer needed because llvm-tblgen is already installed by default. llvm-svn: 147187
* Changes the JSON parser to use the SourceMgr.Manuel Klimek2011-12-211-1/+2
| | | | | | | | Diagnostics are now emitted via the SourceMgr and we use MemoryBuffer for buffer management. Switched the code to make use of the trailing '0' that MemoryBuffer guarantees where it makes sense. llvm-svn: 147063
* ARM NEON VLD2 assembly parsing for structure to all lanes, non-writeback.Jim Grosbach2011-12-211-0/+1
| | | | llvm-svn: 147025
* Fixing option for JSON benchmark broken since the change to size_t.Manuel Klimek2011-12-201-1/+1
| | | | llvm-svn: 146970
* Fix up the CMake build for the new files added in r146960, they'reChandler Carruth2011-12-201-0/+1
| | | | | | likely to stay either way that discussion ends up resolving itself. llvm-svn: 146966
OpenPOWER on IntegriCloud