summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/InlineAsm.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename VMCore directory to IR.Chandler Carruth2013-01-021-295/+0
| | | | | | | | | | | | | | | | | | Aside from moving the actual files, this patch only updates the build system and the source file comments under lib/... that are relevant. I'll be updating other docs and other files in smaller subsequnet commits. While I've tried to test this, but it is entirely possible that there will still be some build system fallout. Also, note that I've not changed the library name itself: libLLVMCore.a is still the library name. I'd be interested in others' opinions about whether we should rename this as well (I think we should, just not sure what it might break) llvm-svn: 171359
* [ms-inline asm] Enumerate the InlineAsm dialects and rename the nsdialect toChad Rosier2012-09-051-3/+3
| | | | | | inteldialect. llvm-svn: 163231
* [ms-inline asm] Add the inline assembly dialect, AsmDialect, to the InlineAsmChad Rosier2012-09-041-6/+7
| | | | | | class. llvm-svn: 163175
* land David Blaikie's patch to de-constify Type, with a few tweaks.Chris Lattner2011-07-181-4/+4
| | | | llvm-svn: 135375
* deconstify getType()'s.Chris Lattner2011-07-151-1/+1
| | | | llvm-svn: 135323
* Land the long talked about "type system rewrite" patch. ThisChris Lattner2011-07-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | patch brings numerous advantages to LLVM. One way to look at it is through diffstat: 109 files changed, 3005 insertions(+), 5906 deletions(-) Removing almost 3K lines of code is a good thing. Other advantages include: 1. Value::getType() is a simple load that can be CSE'd, not a mutating union-find operation. 2. Types a uniqued and never move once created, defining away PATypeHolder. 3. Structs can be "named" now, and their name is part of the identity that uniques them. This means that the compiler doesn't merge them structurally which makes the IR much less confusing. 4. Now that there is no way to get a cycle in a type graph without a named struct type, "upreferences" go away. 5. Type refinement is completely gone, which should make LTO much MUCH faster in some common cases with C++ code. 6. Types are now generally immutable, so we can use "Type *" instead "const Type *" everywhere. Downsides of this patch are that it removes some functions from the C API, so people using those will have to upgrade to (not yet added) new API. "LLVM 3.0" is the right time to do this. There are still some cleanups pending after this, this patch is large enough as-is. llvm-svn: 134829
* Another possible bug. Stopgap until we can autogenerate tables andEric Christopher2011-06-031-6/+3
| | | | | | | | constraint lengths. Part of rdar://9037836 and rdar://9119939 llvm-svn: 132598
* Fix an off by one error.Eric Christopher2011-06-031-2/+1
| | | | | | Part of rdar://9037836 and rdar://9119939 llvm-svn: 132590
* Add a new parse hint for multi-letter constraints in inline asm.Eric Christopher2011-06-021-0/+9
| | | | | | | | Testcase will come when we use it. Part of rdar://9119939 llvm-svn: 132476
* Apply patch for use-after-free in InlineAsm constant handling,Dale Johannesen2010-11-021-0/+1
| | | | | | | | PR 8522 / 8616046. Test reduction, analysis and patch by Tim Deegan! (However, review by someone who understands the classes here better is welcome. John Krum will return!) llvm-svn: 118030
* Inline asm multiple alternative constraints development phase 2 - improved ↵John Thompson2010-10-291-5/+5
| | | | | | basic logic, added initial platform support. llvm-svn: 117667
* Silence some constructor ordering warnings.Eric Christopher2010-09-131-3/+3
| | | | llvm-svn: 113767
* Added skeleton for inline asm multiple alternative constraint support.John Thompson2010-09-131-10/+60
| | | | llvm-svn: 113766
* Reduce string trashing.Benjamin Kramer2010-07-251-1/+1
| | | | llvm-svn: 109386
* Memoize InlineAsms into the LLVMContext and delete them on shutdown.Jeffrey Yasskin2010-03-211-11/+14
| | | | | | Fixes PR803. llvm-svn: 99143
* There are two ways of checking for a given type, for example isa<PointerType>(T)Duncan Sands2010-02-161-1/+1
| | | | | | | and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. llvm-svn: 96344
* Avoid going through the LLVMContext for type equality where it's safe to ↵Benjamin Kramer2010-01-051-1/+1
| | | | | | dereference the type pointer. llvm-svn: 92726
* Pass StringRef by value.Daniel Dunbar2009-11-061-7/+7
| | | | llvm-svn: 86251
* Rename msasm to alignstack per review.Dale Johannesen2009-10-211-4/+6
| | | | llvm-svn: 84795
* Add an "msasm" flag to inline asm as suggested in PR 5125.Dale Johannesen2009-10-131-4/+6
| | | | | | | A little ugliness is accepted to keep the binary file format compatible. No functional change yet. llvm-svn: 84020
* Push LLVMContexts through the IntegerType APIs.Owen Anderson2009-08-131-1/+1
| | | | llvm-svn: 78948
* Finish migrating VMCore to StringRef/Twine based APIs.Daniel Dunbar2009-07-251-13/+13
| | | | llvm-svn: 77051
* Keep track of *which* input constraint matches an outputChris Lattner2008-10-171-2/+7
| | | | | | | constraint. Reject asms where an output has multiple input constraints tied to it. llvm-svn: 57687
* Fix PR2267, by allowing indirect outputs to be intermixedChris Lattner2008-05-221-1/+4
| | | | | | | with normal outputs. Testcase here: test/CodeGen/X86/asm-indirect-mem.ll llvm-svn: 51409
* Allow asms to return multiple results by value.Chris Lattner2008-04-271-4/+13
| | | | llvm-svn: 50328
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* remove a dead annotationChris Lattner2007-12-181-1/+0
| | | | llvm-svn: 45163
* Change the PointerType api for creating pointer types. The old functionality ↵Christopher Lamb2007-12-171-1/+3
| | | | | | of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space. llvm-svn: 45082
* Reverting dtor devirtualization patch.Gordon Henriksen2007-12-101-0/+6
| | | | | | | _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 llvm-svn: 44760
* Devirtualizing Value destructor (PR889). Patch by Pawel Kunio!Gordon Henriksen2007-12-091-6/+0
| | | | llvm-svn: 44747
* represent indirect operands explicitly in inline asm strings.Chris Lattner2007-04-281-8/+9
| | | | llvm-svn: 36522
* For PR780:Reid Spencer2006-06-071-0/+2
| | | | | | | | | 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. llvm-svn: 28719
* Add a virtual dtor to the InlineAsm class so that the principle method ofChris Lattner2006-06-071-0/+6
| | | | | | the class can be defined in InlineAsm.cpp llvm-svn: 28718
* Parse the %*# constraint modifiersChris Lattner2006-02-231-1/+11
| | | | llvm-svn: 26341
* validate matching constraints and remember when we see them.Chris Lattner2006-02-021-5/+15
| | | | llvm-svn: 25892
* Fix VC++ compilation error.Jeff Cohen2006-02-011-0/+1
| | | | llvm-svn: 25869
* Beef up the interface to inline asm constraint parsing, making it more ↵Chris Lattner2006-02-011-44/+96
| | | | | | general, useful, and easier to use. llvm-svn: 25866
* add method for constraint parsingChris Lattner2006-01-261-29/+50
| | | | llvm-svn: 25637
* parse and verify the constraint string.Chris Lattner2006-01-261-0/+68
| | | | llvm-svn: 25631
* Print InlineAsm objectsChris Lattner2006-01-251-5/+15
| | | | llvm-svn: 25617
* Change inline asms to be uniqued like constants, not embedded in a Module.Chris Lattner2006-01-251-23/+5
| | | | llvm-svn: 25610
* Initial checkin of the InlineAsm classChris Lattner2006-01-241-0/+50
llvm-svn: 25570
OpenPOWER on IntegriCloud