summaryrefslogtreecommitdiffstats
path: root/llvm/utils
Commit message (Collapse)AuthorAgeFilesLines
* Fix bad length argument to substr calls. Apparently I'm the first one toBob Wilson2009-08-261-2/+2
| | | | | | attempt more than 2 constraints on an instruction. llvm-svn: 80169
* Don't submit test directory.Bill Wendling2009-08-261-0/+1
| | | | llvm-svn: 80139
* Add an 'inline hint' attribute to represent sourceDale Johannesen2009-08-262-1/+2
| | | | | | | | code hints that it would be a good idea to inline a function ("inline" keyword). No functional change yet; FEs do not emit this and inliner does not use it. llvm-svn: 80063
* Make LLVM command-line tools overwrite their output files without -f.Dan Gohman2009-08-252-3/+2
| | | | | | | | | | | | | | | | This is conventional command-line tool behavior. -f now just means "enable binary output on terminals". Add a -f option to llvm-extract and llvm-link, for consistency. Remove F_Force from raw_fd_ostream and enable overwriting and truncating by default. Introduce an F_Excl flag to permit users to enable a failure when the file already exists. This flag is currently unused. Update Makefiles and documentation accordingly. llvm-svn: 79990
* prune the #includes in raw_ostream.h by moving a Chris Lattner2009-08-241-0/+1
| | | | | | | member out of line. ftostr is not particularly speedy, so that method is presumably not perf sensitive. llvm-svn: 79885
* search unittests.Chris Lattner2009-08-241-1/+1
| | | | llvm-svn: 79884
* Prune #includes from llvm/Linker.h and llvm/System/Path.h,Chris Lattner2009-08-231-3/+3
| | | | | | | | | | | | | | | | | | forcing them down into various .cpp files. This change also: 1. Renames TimeValue::toString() and Path::toString() to ::str() for similarity with the STL. 2. Removes all stream insertion support for sys::Path, forcing clients to call .str(). 3. Removes a use of Config/alloca.h from bugpoint, using smallvector instead. 4. Weans llvm-db off <iostream> sys::Path really needs to be gutted, but I don't have the desire to do it at this point. llvm-svn: 79869
* Try to fix MSVC build after r79846.Benjamin Kramer2009-08-232-4/+7
| | | | llvm-svn: 79850
* Fix non-determinism in DAGISel emitter.Daniel Dunbar2009-08-234-7/+23
| | | | | | | | | | | | | | | | | | | | | | | - This manifested as non-determinism in the .inc output in rare cases (when two distinct patterns ended up being equivalent, which is rather rare). That meant the pattern matching was non-deterministic, which could eventually mean the code generator selected different instructions based on the arch. - It's probably worth making the DAGISel ensure a total ordering (or force the user to), but the simple fix here is to totally order the Record* maps based on a unique ID. - PR4672, PR4711. Yay: -- ddunbar@giles:~$ cat ~/llvm.obj.64/lib/Target/*/*.inc | shasum d1099ff34b21459a5a3e7021c225c080e6017ece - ddunbar@giles:~$ cat ~/llvm.obj.ppc/lib/Target/*/*.inc | shasum d1099ff34b21459a5a3e7021c225c080e6017ece - -- llvm-svn: 79846
* Change Pass::print to take a raw ostream instead of std::ostream,Chris Lattner2009-08-231-1/+1
| | | | | | update all code that this affects. llvm-svn: 79830
* remove some DOUTsChris Lattner2009-08-233-21/+21
| | | | llvm-svn: 79821
* Don't install FileCheck or FileUpdateDouglas Gregor2009-08-232-0/+6
| | | | llvm-svn: 79820
* Change raw_fd_ostream to take flags as an optional bitmask Chris Lattner2009-08-232-4/+4
| | | | | | | | | | | | | | | | instead of as two bools. Use this to add a F_Append flag which has the obvious behavior. Other unrelated changes conflated into this patch: 1. REmove EH stuff from llvm-dis and llvm-as, the try blocks are dead. 2. Simplify the filename inference code in llvm-as/llvm-dis, because raw_fd_ostream does the right thing with '-'. 3. Switch machine verifier to use raw_ostream instead of ostream (Which is the thing that needed append in the first place). llvm-svn: 79807
* Record variable debug info at ISel time directly.Devang Patel2009-08-222-21/+0
| | | | llvm-svn: 79742
* Add lowering of ARM 4-element shuffles to multiple instructios via ↵Anton Korobeynikov2009-08-211-2/+73
| | | | | | perfectshuffle-generated table. llvm-svn: 79624
* Add simple cost model to perfect shuffle. Currently we're doing just greedy ↵Anton Korobeynikov2009-08-211-6/+9
| | | | | | search for cost instead of (proper) dynamic programming approach. llvm-svn: 79623
* Whitespace cleanupAnton Korobeynikov2009-08-211-37/+37
| | | | llvm-svn: 79618
* Even more Apple style build horribleness.Evan Cheng2009-08-181-3/+12
| | | | llvm-svn: 79299
* The attached patches attempt to fix cross builds. For example, if youAnton Korobeynikov2009-08-181-1/+1
| | | | | | | | | | | | | try to use i686-darwin to build for arm-eabi, you'll quickly run into several false assumptions that the target OS must be the same as the host OS. These patches split $(OS) into $(HOST_OS) and $(TARGET_OS) to help builds like "make check" and the test-suite able to cross compile. Along the way a target of *-unknown-eabi is defined as "Freestanding" so that TARGET_OS checks have something to work with. Patch by Sandeep Patel! llvm-svn: 79296
* Extend the instruction itinerary model to include the ability to indicate ↵David Goodwin2009-08-172-42/+107
| | | | | | the def and use cycle for each operand. This additional information is optional, so existing itineraries do not need to be changed. llvm-svn: 79247
* the MinPad argument to PadToColumn only really makes sense to be 1,Chris Lattner2009-08-171-2/+2
| | | | | | just remove the argument and replace it with 1. llvm-svn: 79246
* when emitting errors about CHECK-NEXT directives, show the line that the Chris Lattner2009-08-161-2/+6
| | | | | | CHECK-NEXT is on. llvm-svn: 79164
* implement support for CHECK-NEXT: in filecheck.Chris Lattner2009-08-151-26/+105
| | | | llvm-svn: 79123
* simplify some code.Chris Lattner2009-08-151-8/+13
| | | | llvm-svn: 79121
* rewrite FindStringInBuffer to use an explicit loop instead ofChris Lattner2009-08-151-19/+27
| | | | | | | trying to wrap strstr which is just too inconvenient. Make it use a StringRef to avoid ".c_str()" calls. llvm-svn: 79120
* Instead of using an std::pair, use a custom struct.Chris Lattner2009-08-151-12/+21
| | | | llvm-svn: 79119
* Push LLVMContexts through the IntegerType APIs.Owen Anderson2009-08-131-9/+9
| | | | llvm-svn: 78948
* Add a new "SDTCisVec" SDTypeConstraint. This complements the vAny type.Bob Wilson2009-08-122-11/+30
| | | | | | | | There have been a few times where I've wanted this but ended up leaving the operand type unconstrained. It is easy to add this now and should help catch errors in the future. llvm-svn: 78849
* This void is implicit in C++.Dan Gohman2009-08-122-5/+5
| | | | llvm-svn: 78848
* Enhance the InstrStage object to enable the specification of an Itinerary ↵David Goodwin2009-08-121-4/+7
| | | | | | with overlapping stages. The default is to maintain the current behavior that the "next" stage immediately follows the previous one. llvm-svn: 78827
* Add contexts to some of the MVT APIs. No functionality change yet, just the ↵Owen Anderson2009-08-122-21/+2
| | | | | | infrastructure work needed to get the contexts to where they need to be first. llvm-svn: 78759
* llvm-mc/AsmParser: Match hard coded registers (e.g. 'shldl %cl, %eax, %eax')Daniel Dunbar2009-08-111-25/+102
| | | | | | We now match all of 403.gcc (as emitted by clang). :) llvm-svn: 78750
* Add 'isCodeGenOnly' bit to Instruction .td records.Daniel Dunbar2009-08-111-20/+13
| | | | | | | | | | | | | | | - Used to mark fake instructions which don't correspond to an actual machine instruction (or are duplicates of a real instruction). This is to be used for "special cases" in the .td files, which should be ignored by things like the assembler and disassembler. We still need a good solution to handle pervasive duplication, like with the Int_ instructions. - Set the bit on fake "mov 0" style instructions, which allows turning an assembler matcher warning into a hard error. - -2 FIXMEs. llvm-svn: 78731
* llvm-mc/AsmParser: Allow target to specific a comment delimiter, which will beDaniel Dunbar2009-08-111-1/+26
| | | | | | used to strip hard coded comments out of .td assembly strings. llvm-svn: 78716
* Split EVT into MVT and EVT, the former representing _just_ a primitive type, ↵Owen Anderson2009-08-1110-207/+207
| | | | | | | | while the latter is capable of representing either a primitive or an extended type. llvm-svn: 78713
* llvm-mc/AsmMatcher: Fix two thinkos in determining whether two classes areDaniel Dunbar2009-08-111-4/+23
| | | | | | related. llvm-svn: 78706
* Fix a few more places in TableGen that need to handle EVT::vAny types.Bob Wilson2009-08-111-2/+4
| | | | llvm-svn: 78643
* llvm-mc/AsmParser: Implement automatic classification of RegisterClass operands.Daniel Dunbar2009-08-111-71/+256
| | | | | | - This drops us to 123 ambiguous instructions (previously ~500) on X86. llvm-svn: 78636
* Add a new overloaded EVT::vAny type for use in TableGen to allow intrinsicBob Wilson2009-08-113-7/+25
| | | | | | arguments that are vectors of any size and element type. llvm-svn: 78631
* Rename MVT to EVT, in preparation for splitting SimpleValueType out into its ↵Owen Anderson2009-08-1012-286/+286
| | | | | | own struct type. llvm-svn: 78610
* llvm-mc/AsmParser: Allow .td users to redefine the names of the methods to callDaniel Dunbar2009-08-101-2/+21
| | | | | | | on target specific operands for testing class membership and converting to MCInst operands. llvm-svn: 78597
* llvm-mc/AsmMatcher: Remove some code which has been obsoleted by move toDaniel Dunbar2009-08-101-24/+4
| | | | | | explicit parser match classes. llvm-svn: 78588
* llvm-mc/AsmMatcher: Change assembler parser match classes to their own recordDaniel Dunbar2009-08-101-61/+56
| | | | | | structure. llvm-svn: 78581
* llvm-mc/AsmParser: Check for matches with super classes when matchingDaniel Dunbar2009-08-101-1/+52
| | | | | | instruction operands. llvm-svn: 78565
* llvm-mc/AsmParser: Fix thinko in ClassInfo::operator<.Daniel Dunbar2009-08-091-2/+7
| | | | llvm-svn: 78533
* llvm-mc/AsmParser: Add hack to ignore Int_* and *_Int instructions for now, toDaniel Dunbar2009-08-091-0/+11
| | | | | | | | | | make it easier to see interesting ambiguities. - Also, check that user doesn't try to redefine the super class. This is a wart in the current design, in that assembler match classes aren't explicitly declared somewhere (so there isn't a unique place to declare the super class). This should probably be fixed. llvm-svn: 78532
* llvm-mc/AsmParser: Implement user defined super classes.Daniel Dunbar2009-08-091-10/+72
| | | | | | - We can now discriminate SUB32ri8 from SUB32ri, for example. llvm-svn: 78530
* llvm-mc/AsmParser: Separate instruction ordering for ambiguity detection.Daniel Dunbar2009-08-091-36/+45
| | | | | | | | | | | - We want the ordering operation to be simple, since we run it on every match. The old ordering is also not a strict weak ordering when there are ambiguities, which makes MSVC unhappy. - While we are at it, detect all ambiguities instead of just the adjacent ones. There are actually 655, for X86. llvm-svn: 78526
* llvm-mc/AsmParser: Define match classes in the .td file.Daniel Dunbar2009-08-091-27/+39
| | | | | | -2 FIXMEs. llvm-svn: 78523
* llvm-mc/AsmParser: Sketch infrastructure for ordering instructions & detectingDaniel Dunbar2009-08-091-14/+106
| | | | | | | ambiguities. - Currently there are 483 ambiguities to resolve. :) llvm-svn: 78522
OpenPOWER on IntegriCloud