aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/InlineAsm.h
Commit message (Collapse)AuthorAgeFilesLines
* Model inline asm constraint which ties an input to an output register as ↵Evan Cheng2009-03-231-8/+7
| | | | | | machine operand TIED_TO constraint. This eliminated the need to pre-allocate registers for these. This also allows register allocator can eliminate the unneeded copies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67512 91177308-0d34-0410-b5e6-96231b3b80d8
* For inline asm output operand that matches an input. Encode the input ↵Evan Cheng2009-03-201-0/+18
| | | | | | operand index in the high bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67387 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep track of *which* input constraint matches an outputChris Lattner2008-10-171-3/+9
| | | | | | | | constraint. Reject asms where an output has multiple input constraints tied to it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57687 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch the asmprinter (.ll) and all the stuff it requires over toChris Lattner2008-08-231-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | use raw_ostream instead of std::ostream. Among other goodness, this speeds up llvm-dis of kc++ with a release build from 0.85s to 0.49s (88% faster). Other interesting changes: 1) This makes Value::print be non-virtual. 2) AP[S]Int and ConstantRange can no longer print to ostream directly, use raw_ostream instead. 3) This fixes a bug in raw_os_ostream where it didn't flush itself when destroyed. 4) This adds a new SDNode::print method, instead of only allowing "dump". A lot of APIs have both std::ostream and raw_ostream versions, it would be useful to go through and systematically anihilate the std::ostream versions. This passes dejagnu, but there may be minor fallout, plz let me know if so and I'll fix it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55263 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't attribute in file headers anymore. See llvmdev for theChris Lattner2007-12-291-2/+2
| | | | | | | | discussion of this change. Boy are my fingers tired. ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
* remove obviously dead uses of IncludeFile.Chris Lattner2007-12-181-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45165 91177308-0d34-0410-b5e6-96231b3b80d8
* remove a dead annotationChris Lattner2007-12-181-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45163 91177308-0d34-0410-b5e6-96231b3b80d8
* Reverting dtor devirtualization patch.Gordon Henriksen2007-12-101-5/+2
| | | | | | | _sabre_: it has a major problem: by the time ~Value is run, all of the "parts" of the derived classes have been destroyed _sabre_: the vtable lives to fight another day git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44760 91177308-0d34-0410-b5e6-96231b3b80d8
* Devirtualizing Value destructor (PR889). Patch by Pawel Kunio!Gordon Henriksen2007-12-091-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44747 91177308-0d34-0410-b5e6-96231b3b80d8
* represent indirect operands explicitly in inline asm strings.Chris Lattner2007-04-281-5/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36522 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename Value::getValueType to getValueID, to avoid confusion withDan Gohman2007-04-131-1/+1
| | | | | | | other things named getValueType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35964 91177308-0d34-0410-b5e6-96231b3b80d8
* Added an automatic cast to "std::ostream*" etc. from OStream. We then canBill Wendling2006-12-171-0/+1
| | | | | | | | rework the hacks that had us passing OStream in. We pass in std::ostream* instead, check for null, and then dispatch to the correct print() method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32636 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR780:Reid Spencer2006-07-261-1/+1
| | | | | | | | | | | | | 1. Move IncludeFile.h to System library 2. Move IncludeFile.cpp to System library 3. #1 and #2 required to prevent cyclic library dependencies for libSystem 4. Convert all existing uses of Support/IncludeFile.h to System/IncludeFile.h 5. Add IncludeFile support to various lib/System classes. 6. Add new lib/System classes to LinkAllVMCore.h All this in an attempt to pull in lib/System to what's required for VMCore git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29287 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR780:Reid Spencer2006-06-071-1/+5
| | | | | | | | | | 1. Add #includes to LinkAllVMCore.h to get Mangler.o and InlineAsm.o 2. Make Mangler.h and InlineAsm.h use the macros to ensure linkage 3. Make each of the tools with --load options include LinkAllVMCore.h This should be the last set of changes for this bug and 800. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28719 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a virtual dtor to the InlineAsm class so that the principle method ofChris Lattner2006-06-071-0/+1
| | | | | | | the class can be defined in InlineAsm.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28718 91177308-0d34-0410-b5e6-96231b3b80d8
* add a new flagChris Lattner2006-02-231-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26340 91177308-0d34-0410-b5e6-96231b3b80d8
* fix an error compiling with -pedanticChris Lattner2006-02-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26028 91177308-0d34-0410-b5e6-96231b3b80d8
* add an instance var and argument.Chris Lattner2006-02-021-1/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25891 91177308-0d34-0410-b5e6-96231b3b80d8
* Beef up the interface to inline asm constraint parsing, making it moreChris Lattner2006-02-011-3/+27
| | | | | | | general, useful, and easier to use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25864 91177308-0d34-0410-b5e6-96231b3b80d8
* add methods for constraint parsingChris Lattner2006-01-261-0/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25636 91177308-0d34-0410-b5e6-96231b3b80d8
* add another methodChris Lattner2006-01-251-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25616 91177308-0d34-0410-b5e6-96231b3b80d8
* add some useful accessors :)Chris Lattner2006-01-251-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25612 91177308-0d34-0410-b5e6-96231b3b80d8
* Change inline asms to be uniqued like constants, not embedded in a Module.Chris Lattner2006-01-251-33/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25610 91177308-0d34-0410-b5e6-96231b3b80d8
* Be consistent in using class/struct to keep Visual Studio happy.Jeff Cohen2006-01-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25575 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial checkin of the InlineAsm classChris Lattner2006-01-241-0/+89
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25570 91177308-0d34-0410-b5e6-96231b3b80d8