summaryrefslogtreecommitdiffstats
path: root/llvm/utils
Commit message (Collapse)AuthorAgeFilesLines
...
* In utils/TableGen/ClangSACheckersEmitter.cpp, set the 'Hidden' bit for checkers.Argyrios Kyrtzidis2011-02-241-0/+1
| | | | llvm-svn: 126436
* Fix Builder::execute() to more properly pass the desired environmentDavid Greene2011-02-221-4/+4
| | | | | | to tools. llvm-svn: 126263
* Eliminate valgrind warnings from Python on the 32-bit as well.Cameron Zwarich2011-02-221-4/+4
| | | | llvm-svn: 126171
* Implement xgetbv and xsetbv.Rafael Espindola2011-02-221-1/+3
| | | | | | Patch by Jai Menon. llvm-svn: 126165
* Add a convenience tool for doing comparison builds of the LLVMDavid Greene2011-02-211-0/+706
| | | | | | | ecosystem. This is a handy utility for checking changes before committing them to the repository. llvm-svn: 126136
* Put targets on folders, if the IDE supports the feature.Oscar Fuentes2011-02-206-6/+6
| | | | | | Requires CMake 2.8.3 or newer. llvm-svn: 126092
* Try to fix the MC/AsmParser/section.s failure on the llvm-x86_64-linux-vg_leakCameron Zwarich2011-02-191-4/+4
| | | | | | | bot. I am not sure if this is valid Valgrind exclusion file syntax, but the Internet seems to think so. llvm-svn: 126051
* CMake: updated list of tblgen source files.Oscar Fuentes2011-02-181-0/+1
| | | | llvm-svn: 125969
* Add FixedLenDecoderEmitter, the skeleton of a new disassembler emitter for ↵Owen Anderson2011-02-184-98/+1532
| | | | | | | | | | | | | fixed-length instruction encodings. A major part of its (eventual) goal is to support a much cleaner separation between disassembly callbacks provided by the target and the disassembler emitter itself, i.e. not requiring hardcoding of knowledge in tblgen like the existing disassembly emitters do. The hope is that some day this will allow us to replace the existing non-Thumb ARM disassembler and remove some of the hacks the old one introduced to tblgen. llvm-svn: 125966
* Check that MnemonicAlias doesn't map back to the same string.Joerg Sonnenberger2011-02-171-0/+2
| | | | llvm-svn: 125792
* lit/TestingConfig.py: Add the environment variable PRINTF_EXPONENT_DIGITS as ↵NAKAMURA Takumi2011-02-171-0/+1
| | | | | | | | | | workaround [PR6745] for mingw's tests. Danil Malyshev suggested this. FIXME: It does not improve MSVC's issue. [Danil Malyshev] Defining PRINTF_EXPONENT_DIGITS env is the suggested way to make MinGW ANSI/POSIX compatible. This is not only about the case we are discussing, but in general, I'd like to have explicitly defined compatibility mode for all the tests running on MinGW. llvm-svn: 125725
* Add serialization for Expr* arguments for attributes to clang tablegen files.Alexis Hunt2011-02-171-0/+2
| | | | | | Patch thanks to Zach Anderson. llvm-svn: 125721
* When tablegen'ing the clang analyzer checkers:Argyrios Kyrtzidis2011-02-151-27/+62
| | | | | | | -Use the tablegen class name for the checker class name. -Mark checker packages as hidden/not hidden. llvm-svn: 125558
* Add the ClangSACheckersEmitter tablegen backend which will be used for the ↵Argyrios Kyrtzidis2011-02-144-0/+233
| | | | | | clang static analyzer. llvm-svn: 125493
* Fix encoding and add parsing support for the arm/thumb CPS instruction:Bruno Cardoso Lopes2011-02-141-0/+2
| | | | | | | | | | | | - Add custom operand matching for imod and iflags. - Rename SplitMnemonicAndCC to SplitMnemonic since it splits more than CC from mnemonic. - While adding ".w" as an operand, don't change "Head" to avoid passing the wrong mnemonic to ParseOperand. - Add asm parser tests. - Add disassembler tests just to make sure it can catch all cps versions. llvm-svn: 125489
* Wrap the struct in an anonymous namespace.Argyrios Kyrtzidis2011-02-131-0/+2
| | | | llvm-svn: 125452
* AsmMatcher custom operand parser failure enhancements.Jim Grosbach2011-02-121-17/+19
| | | | | | | | | | | Teach the AsmMatcher handling to distinguish between an error custom-parsing an operand and a failure to match. The former should propogate the error upwards, while the latter should continue attempting to parse with alternative matchers. Update the ARM asm parser accordingly. llvm-svn: 125426
* Tidy out asm matcher .inc output.Jim Grosbach2011-02-111-2/+2
| | | | llvm-svn: 125408
* lit/TestFormats.py: Unittests may be found with suffix .exe also on Cygwin.NAKAMURA Takumi2011-02-101-2/+2
| | | | llvm-svn: 125273
* lit/Util.py: On Cygwin, 'PATHEXT' may exist but it should not be used.NAKAMURA Takumi2011-02-101-1/+5
| | | | llvm-svn: 125272
* Don't return before calling the post-processing function(s).Bill Wendling2011-02-101-1/+0
| | | | llvm-svn: 125256
* Do AsmMatcher operand classification per-opcode.Jim Grosbach2011-02-101-88/+29
| | | | | | | | | | When matching operands for a candidate opcode match in the auto-generated AsmMatcher, check each operand against the expected operand match class. Previously, operands were classified independently of the opcode being handled, which led to difficulties when operand match classes were more complicated than simple subclass relationships. llvm-svn: 125245
* emit a specific error when the input file is empty. This fixes Chris Lattner2011-02-091-0/+5
| | | | | | | | | an annoyance of mine when working on tests: if the input .ll file is broken, opt outputs an error and generates an empty file. FileCheck then emits its "ooh I couldn't find the first CHECK line, scanning from ..." which obfuscates the actual problem. llvm-svn: 125193
* lit/LitConfig.py: Add the new method getToolsPath(dir,paths,tools).NAKAMURA Takumi2011-02-091-0/+16
| | | | | | | | It seeks tools(eg. [cmp, grep, sed]) in same directory, to be sane. It seeks "bash" only in the directory found at last time. Or bash would be insane (against other tools). llvm-svn: 125175
* lit/Util.py: Add two functions, checkToolsPath(dir,tools) and ↵NAKAMURA Takumi2011-02-091-0/+12
| | | | | | | | | | | | | whichTools(tools,paths). checkToolsPath(dir,tools): return True if "dir" contains all "tools". whichTools(tools,paths): return a directory that contains all "tools" in "paths". Or return None when all "tools" were not met. llvm-svn: 125174
* llvm-lit may be available with CMake.NAKAMURA Takumi2011-02-091-0/+2
| | | | llvm-svn: 125168
* llvm-lit may be able to invoke clang tests.NAKAMURA Takumi2011-02-091-0/+4
| | | | llvm-svn: 125167
* Implement support for custom target specific asm parsing of operands.Bruno Cardoso Lopes2011-02-071-3/+262
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Motivation: Improve the parsing of not usual (different from registers or immediates) operand forms. This commit implements only the generic support. The ARM specific modifications will come next. A table like the one below is autogenerated for every instruction containing a 'ParserMethod' in its AsmOperandClass static const OperandMatchEntry OperandMatchTable[20] = { /* Mnemonic, Operand List Mask, Operand Class, Features */ { "cdp", 29 /* 0, 2, 3, 4 */, MCK_Coproc, Feature_IsThumb|Feature_HasV6 }, { "cdp", 58 /* 1, 3, 4, 5 */, MCK_Coproc, Feature_IsARM }, A matcher function very similar (but lot more naive) to MatchInstructionImpl scans the table. After the mnemonic match, the features are checked and if the "to be parsed" operand index is present in the mask, there's a real match. Then, a switch like the one below dispatch the parsing to the custom method provided in 'ParseMethod': case MCK_Coproc: return TryParseCoprocessorOperandName(Operands); llvm-svn: 125030
* MC/AsmMatcher: Sink ConvertToMCInst into the TargetAsmParser instance, whichDaniel Dunbar2011-02-041-3/+8
| | | | | | implicitly allows custom conversions to be member functions. llvm-svn: 124908
* Teach ARM/MC/ELF to handle R_ARM_JUMP24 relocation type for conditional jumps.Jason W Kim2011-02-041-0/+7
| | | | | | | | | | | | | | | | (yes, this is different from R_ARM_CALL) - Adds a new method getARMBranchTargetOpValue() which handles the necessary distinction between the conditional and unconditional br/bl needed for ARM/ELF At least for ARM mode, the needed fixup for conditional versus unconditional br/bl is identical, but the ARM docs and existing ARM tools expect this reloc type... Added a few FIXME's for future naming fixups in ARMInstrInfo.td llvm-svn: 124895
* MC/AsmParser: Add support for allowing the conversion process to fail (viaDaniel Dunbar2011-02-041-8/+17
| | | | | | custom conversion functions). llvm-svn: 124872
* MC/AsmMatcher: Add support for custom conversion functions.Daniel Dunbar2011-02-041-1/+20
| | | | llvm-svn: 124870
* Silence uninitialized value warnings.David Greene2011-02-041-4/+4
| | | | llvm-svn: 124869
* Make Win32's header file name lower for cross build on case-sensitive ↵NAKAMURA Takumi2011-02-041-1/+1
| | | | | | filesystem. llvm-svn: 124864
* Tidy up a bit.Jim Grosbach2011-02-031-3/+3
| | | | llvm-svn: 124832
* Changes for building Clang and others using LLVM as an externalOscar Fuentes2011-02-031-0/+4
| | | | | | | | | | | | | library. Installs tblgen (required by Clang). Translates handling of user settings and platform-dependant options to its own file, where it can included by another project. Installs the .cmake files required by projects like Clang. llvm-svn: 124816
* Changed the TableGen created MatchInstructionImpl() setting of ErrorInfo.Kevin Enderby2011-02-021-3/+1
| | | | | | | | | | | The algorithm for identifying which operand is invalid will now always point to some operand and not the mnemonic sometimes. The change is now that ErrorInfo is the index of the highest operand that does not match for any of the matching mnemonics records. And no longer the ~0U value when the mnemonic matches and not every record with a matching mnemonic has the same mismatching operand index. llvm-svn: 124734
* Update to match changes in lldb interface.Devang Patel2011-02-011-1/+2
| | | | llvm-svn: 124687
* [AVX] Implement EnforceSmallerThan for mixed int/fp type lists. ThisDavid Greene2011-02-011-27/+130
| | | | | | | | | | | | | makes type checking for extract_subvector and insert_subvector more robust and will allow stricter typechecking of more patterns in the future. This change handles int and fp as disjoint sets so that it will enforce integer types to be smaller than the largest integer type and fp types to be smaller than the largest fp type. There is no attempt to check type sizes across the int/fp sets. llvm-svn: 124672
* Tidy up. Devang Patel2011-01-311-35/+132
| | | | llvm-svn: 124605
* Focus on arguments for now.Devang Patel2011-01-311-2/+2
| | | | llvm-svn: 124604
* Fix a comment typo.Bob Wilson2011-01-271-1/+1
| | | | llvm-svn: 124450
* Clang: separate the access-control diagnostics from other diagnostics that ↵Douglas Gregor2011-01-271-1/+7
| | | | | | do not have SFINAE behavior. llvm-svn: 124440
* Add a MnemonicIsValid method to the asm matcher.Bob Wilson2011-01-261-0/+11
| | | | | | Patch by Bill Wendling. llvm-svn: 124328
* Fix spelling of CouldMatchAmbiguouslyWith method name.Bob Wilson2011-01-261-4/+4
| | | | llvm-svn: 124324
* Whitespace and 80-column fixes.Bob Wilson2011-01-261-119/+109
| | | | llvm-svn: 124323
* Improve the AsmMatcher's ability to handle suboperands.Bob Wilson2011-01-263-172/+247
| | | | | | | | | | | | | | | When an operand class is defined with MIOperandInfo set to a list of suboperands, the AsmMatcher has so far required that operand to also define a custom ParserMatchClass, and InstAlias patterns have not been able to set the individual suboperands separately. This patch removes both of those restrictions. If a "compound" operand does not override the default ParserMatchClass, then the AsmMatcher will now parse its suboperands separately. If an InstAlias operand has the same class as the corresponding compound operand, then it will be handled as before; but if that check fails, TableGen will now try to match up a sequence of InstAlias operands with the corresponding suboperands. llvm-svn: 124314
* - Do not try to print nameless variable's info. Devang Patel2011-01-261-22/+28
| | | | | | - Print a summary of breakpoints in the beginning. llvm-svn: 124308
* TableGen: PointerLikeRegClass can be accepted to operand.NAKAMURA Takumi2011-01-262-2/+4
| | | | llvm-svn: 124271
* Fix whitespace.NAKAMURA Takumi2011-01-261-58/+58
| | | | llvm-svn: 124270
OpenPOWER on IntegriCloud