summaryrefslogtreecommitdiffstats
path: root/llvm/utils
Commit message (Collapse)AuthorAgeFilesLines
* Downgrade a tablegen warning to an error.Jakob Stoklund Olesen2011-05-101-3/+2
| | | | | | | Ambiguous sub-register index compositions are OK as long as the backend writer knows what he is doing. llvm-svn: 131134
* Fixed MC encoding for index_align for VLD1/VST1 (single element from one ↵Mon P Wang2011-05-091-0/+1
| | | | | | lane) for size 32 llvm-svn: 131085
* Teach TableGen to automatically generate missing SubRegIndex instances.Jakob Stoklund Olesen2011-05-073-22/+47
| | | | | | | The RegisterInfo.td file should only specify the indexes that sources need to refer to. The rest is inferred. llvm-svn: 131058
* Improve diagnostics for some parse errors. Not asserting when a user inputJim Grosbach2011-05-061-7/+3
| | | | | | error is detected is a good thing. llvm-svn: 131005
* ParseFile() may throw, so extend the try/catch to handle that.Jim Grosbach2011-05-061-11/+11
| | | | llvm-svn: 131004
* llvmc: Make it possible to provide an argument to (join).Mikhail Glushenkov2011-05-051-9/+36
| | | | llvm-svn: 130914
* The system suppression file should catch these, but since they *once again* areNick Lewycky2011-05-042-0/+14
| | | | | | not, I'll just add them here and be done with it. llvm-svn: 130819
* Tidy up. Add missing newline to generated file.Jim Grosbach2011-05-031-1/+1
| | | | llvm-svn: 130779
* Filter out pattterns from the FastISel emitter which it doesn't actually ↵Eli Friedman2011-04-291-31/+49
| | | | | | know how to handle. No significant functionality change at the moment, but it's necessary for some changes I'm planning. llvm-svn: 130547
* Rename profile_rt.so to libprofile_rt.so under configure+make (it already wasNick Lewycky2011-04-291-1/+1
| | | | | | | | | | | | under cmake). Add libprofile_rt.a so that we can tell clang to link against it in --coverage mode. Also turn it on by default in cmake builds. Oscar, this touches a change you made for EXCLUDE_FROM_ALL support -- I think I've done the right thing, but please let me know (or fix and commit) if not! llvm-svn: 130470
* Fix a bug in tblgen that caused incorrect encodings on instructions that ↵Owen Anderson2011-04-281-1/+5
| | | | | | | | | specified operands with "bit" instead of "bits<1>". Unfortunately, my only testcase for this is fragile, and the ARM AsmParser can't round trip the instruction in question. <rdar://problem/9345702> llvm-svn: 130410
* Add a TODO.Mikhail Glushenkov2011-04-241-0/+2
| | | | llvm-svn: 130092
* Remove unused STL header includes.Jay Foad2011-04-238-10/+0
| | | | llvm-svn: 130068
* Disassembly of A8.6.59 LDR (literal) Encoding T1 (16-bit thumb instruction) ↵Johnny Chen2011-04-221-0/+5
| | | | | | | | | | should print out ldr, not ldr.n. rdar://problem/9267772 llvm-svn: 130008
* Define Neon load/store intrinsics for Clang as macros instead of functions.Bob Wilson2011-04-221-15/+51
| | | | | | | This is needed so the front-end can see "aligned" attributes on the type for the pointer arguments. Radar 9311427. llvm-svn: 129964
* Don't allow per-register spill size and alignment.Jakob Stoklund Olesen2011-04-212-3/+0
| | | | | | | These values were not used for anything. Spill size and alignment is a property of the register class, not the register. llvm-svn: 129906
* Prefer cheap registers for busy live ranges.Jakob Stoklund Olesen2011-04-203-3/+6
| | | | | | | | | | | | | | On the x86-64 and thumb2 targets, some registers are more expensive to encode than others in the same register class. Add a CostPerUse field to the TableGen register description, and make it available from TRI->getCostPerUse. This represents the cost of a REX prefix or a 32-bit instruction encoding required by choosing a high register. Teach the greedy register allocator to prefer cheap registers for busy live ranges (as indicated by spill weight). llvm-svn: 129864
* Invert the meaning of printAliasInstr's return value. It now returnsEric Christopher2011-04-181-4/+4
| | | | | | true on success and false on failure. Update callers. llvm-svn: 129722
* Enhance the fixed-length disassembler to support the callbacks necessary for ↵Owen Anderson2011-04-181-5/+10
| | | | | | symbolic disassembly. llvm-svn: 129708
* Add a new bit that ImmLeaf's can opt into, which allows them to duck out ofChris Lattner2011-04-181-2/+10
| | | | | | | | the generated FastISel. X86 doesn't need to generate code to match ADD16ri8 since ADD16ri will do just fine. This is a small codesize win in the generated instruction selector. llvm-svn: 129692
* Implement major new fastisel functionality: the matcher can now handle ↵Chris Lattner2011-04-182-51/+233
| | | | | | | | | | | | | | | | | | | | | | | immediates with value constraints on them (when defined as ImmLeaf's). This is particularly important for X86-64, where almost all reg/imm instructions take a i64immSExt32 immediate operand, which has a value constraint. Before this patch we ended up iseling the examples into such amazing code as: movabsq $7, %rax imulq %rax, %rdi movq %rdi, %rax ret now we produce: imulq $7, %rdi, %rax ret This dramatically shrinks the generated code at -O0 on x86-64. llvm-svn: 129691
* introduce a new OpKind abstraction which wraps up operand flavors in a tidy ↵Chris Lattner2011-04-171-22/+48
| | | | | | | | little wrapper. No functionality change. llvm-svn: 129680
* change OperandsSignature to use SmallVector<char> instead of std::vector<string>Chris Lattner2011-04-172-16/+17
| | | | | | since the strings are always exactly one character, and there are usually only 2-3 operands. llvm-svn: 129678
* since the VT is fixed for a ImmLeaf, there is no reason to expose it to the ↵Chris Lattner2011-04-171-2/+0
| | | | | | matching code. llvm-svn: 129677
* now that predicates have a decent abstraction layer on them, introduce a new Chris Lattner2011-04-173-3/+26
| | | | | | | | | kind of predicate: one that is specific to imm nodes. The predicate function specified here just checks an int64_t directly instead of messing around with SDNode's. The virtue of this is that it means that fastisel and other things can reason about these predicates. llvm-svn: 129675
* Rework our internal representation of node predicates to expose moreChris Lattner2011-04-175-60/+139
| | | | | | | | structure and fix some fixmes. We now have a TreePredicateFn class that handles all of the decoding of these things. This is an internal cleanup that has no impact on the code generated by tblgen. llvm-svn: 129670
* remove some debugging code I added.Chris Lattner2011-04-171-5/+0
| | | | llvm-svn: 129668
* 1. merge fast-isel-shift-imm.ll into fast-isel-x86-64.llChris Lattner2011-04-171-9/+16
| | | | | | | | | | 2. implement rdar://9289501 - fast isel should fold trivial multiplies to shifts 3. teach tblgen to handle shift immediates that are different sizes than the shifted operands, eliminating some code from the X86 fast isel backend. 4. Have FastISel::SelectBinaryOp use (the poorly named) FastEmit_ri_ function instead of FastEmit_ri to simplify code. llvm-svn: 129666
* Initial work to improve documentation for Clang's diagnostics, from Matthieu ↵Douglas Gregor2011-04-153-3/+74
| | | | | | Monrocq llvm-svn: 129613
* Increase SubtargetFeatureKV Value and Implies fields to 64 bits since some ↵Evan Cheng2011-04-151-6/+12
| | | | | | targets are getting very close to 32 subtarget features. Also teach tablegen to error when there are more than 64 features to guard against undefined behavior. rdar://9282332 llvm-svn: 129590
* Fix a ton of comment typos found by codespell. Patch byChris Lattner2011-04-1513-22/+22
| | | | | | Luis Felipe Strano Moraes! llvm-svn: 129558
* Add an option to not print the alias of an instruction. It defaults to "printBill Wendling2011-04-131-0/+2
| | | | | | the alias". llvm-svn: 129485
* Thumb disassembler was erroneously rejecting "blx sp" instruction.Johnny Chen2011-04-111-0/+4
| | | | | | rdar://problem/9267838 llvm-svn: 129320
* TableGen: Keep the order of DECL_CONTEXT() for DeclNodes.td. RecordVector ↵NAKAMURA Takumi2011-04-111-4/+7
| | | | | | | | may be used instead of RecordSet. The result of DeclNodes.inc was unstable on msys, Windows 7 x64. llvm-svn: 129317
* build: Add support for a SHOW_DIAGNOSTICS build variable.Daniel Dunbar2011-04-111-0/+52
| | | | | | | | | If enabled, this will attempt to use the CC_LOG_DIAGNOSTICS feature I dropped into Clang to print a log of all the diagnostics generated during an individual build (from the top-level). Not sure if this will actually be useful, but for now it is handy for testing the option. llvm-svn: 129312
* fix PR9629 - We were lowering regexes like a{{b|c}}d into ab|cd, whichChris Lattner2011-04-091-0/+8
| | | | | | | is substantially different than a(b|c)d. Form the latter regex instead. This found a few problems in the testsuite, which serves as its test. llvm-svn: 129196
* various cleanups, no functionality change.Chris Lattner2011-04-091-10/+6
| | | | llvm-svn: 129192
* Only emit the AvailableFeatures variable if it's used.Bill Wendling2011-04-081-4/+7
| | | | llvm-svn: 129124
* Replace the old algorithm that emitted the "print the alias for an instruction"Bill Wendling2011-04-071-146/+59
| | | | | | | | | | | | | with the newer, cleaner model. It uses the IAPrinter class to hold the information that is needed to match an instruction with its alias. This also takes into account the available features of the platform. There is one bit of ugliness. The way the logic determines if a pattern is unique is O(N**2), which is gross. But in reality, the number of items it's checking against isn't large. So while it's N**2, it shouldn't be a massive time sink. llvm-svn: 129110
* Add support for the VIA PadLock instructions.Joerg Sonnenberger2011-04-044-10/+31
| | | | llvm-svn: 128826
* Use array_lengthofJoerg Sonnenberger2011-04-041-2/+3
| | | | llvm-svn: 128823
* Change loops to derive the number of tables automaticallyJoerg Sonnenberger2011-04-041-2/+2
| | | | llvm-svn: 128818
* tlbgen/MC: StringRef's to temporary objects considered harmful.Daniel Dunbar2011-04-011-3/+3
| | | | llvm-svn: 128735
* Add annotations to tablegen-generated processor itineraries, or replace them ↵Andrew Trick2011-04-012-16/+21
| | | | | | with something meaningful. I want to be able to read and debug the generated tables. llvm-svn: 128703
* whitespaceAndrew Trick2011-04-012-68/+68
| | | | llvm-svn: 128701
* Fix typo in generated HTML.Nick Lewycky2011-03-311-1/+1
| | | | llvm-svn: 128594
* Use intrinsics for Neon vmull operations. Radar 9208957.Bob Wilson2011-03-312-27/+17
| | | | llvm-svn: 128591
* ClangSAEmClangSACheckersEmitter, emit info about groups.Argyrios Kyrtzidis2011-03-301-64/+79
| | | | llvm-svn: 128515
* Quiet a gcc warning about changed name lookup rulesMatt Beaumont-Gay2011-03-291-2/+2
| | | | llvm-svn: 128497
* In ClangSACheckersEmitter:Argyrios Kyrtzidis2011-03-291-7/+61
| | | | | | | - Also emit a list of packages and groups sorted by name - Avoid iterating over DenseSet so that the output of the arrays is deterministic. llvm-svn: 128489
OpenPOWER on IntegriCloud