summaryrefslogtreecommitdiffstats
path: root/llvm/test/Feature
Commit message (Collapse)AuthorAgeFilesLines
...
* Modify the LLVM assembly output so that it uses references to represent ↵Bill Wendling2013-02-203-2/+22
| | | | | | | | | | | function attributes. This makes the LLVM assembly look better. E.g.: define void @foo() #0 { ret void } attributes #0 = { nounwind noinline ssp } llvm-svn: 175605
* There was a switch fall-through in the parser for textual LLVM that causedDavid Tweed2013-01-071-1/+1
| | | | | | | | bogus comparison operands to default to eq/oeq. Fix that, fix a couple of tests that accidentally passed and test for bogus comparison opeartors explicitly. llvm-svn: 171733
* Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ↵Dmitri Gribenko2012-12-301-2/+2
| | | | | | | | ModuleID This is done to avoid odd test failures, like the one fixed in r171243. llvm-svn: 171250
* Remove the dependent libraries feature.Bill Wendling2012-11-271-1/+0
| | | | | | The dependent libraries feature was never used and has bit-rotted. Remove it. llvm-svn: 168694
* Change ForceSizeOpt attribute into MinSize attributeQuentin Colombet2012-10-302-7/+7
| | | | llvm-svn: 167020
* Add a testcase for the previous commit.Nadav Rotem2012-10-221-0/+7
| | | | llvm-svn: 166425
* Change the `linker_private_weak_def_auto' linkage to `linkonce_odr_auto_hide' toBill Wendling2012-08-171-1/+0
| | | | | | | | | | | | | | | | | | | | make it more consistent with its intended semantics. The `linker_private_weak_def_auto' linkage type was meant to automatically hide globals which never had their addresses taken. It has nothing to do with the `linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix among other things. The intended semantic is more like the `linkonce_odr' linkage type. Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore changing the semantics so that it produces the correct output for the linker. Note: The old linkage name `linker_private_weak_def_auto' will still parse but is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0. <rdar://problem/11754934> llvm-svn: 162114
* Convert the uses of '|&' to use '2>&1 |' instead, which works on oldChandler Carruth2012-07-022-2/+2
| | | | | | | | | | versions of Bash. In addition, I can back out the change to the lit built-in shell test runner to support this. This should fix the majority of fallout on Darwin, but I suspect there will be a few straggling issues. llvm-svn: 159544
* Convert all tests using TCL-style quoting to use shell-style quoting.Chandler Carruth2012-07-023-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | This was done through the aid of a terrible Perl creation. I will not paste any of the horrors here. Suffice to say, it require multiple staged rounds of replacements, state carried between, and a few nested-construct-parsing hacks that I'm not proud of. It happens, by luck, to be able to deal with all the TCL-quoting patterns in evidence in the LLVM test suite. If anyone is maintaining large out-of-tree test trees, feel free to poke me and I'll send you the steps I used to convert things, as well as answer any painful questions etc. IRC works best for this type of thing I find. Once converted, switch the LLVM lit config to use ShTests the same as Clang. In addition to being able to delete large amounts of Python code from 'lit', this will also simplify the entire test suite and some of lit's architecture. Finally, the test suite runs 33% faster on Linux now. ;] For my 16-hardware-thread (2x 4-core xeon e5520): 36s -> 24s llvm-svn: 159525
* rdar://11542750 - llvm.trap should be marked no return.Chris Lattner2012-05-271-0/+10
| | | | llvm-svn: 157551
* This file is no longer needed (DejaGNU-isms removed from code)Eli Bendersky2012-03-251-3/+0
| | | | llvm-svn: 153412
* Replace all instances of dg.exp file with lit.local.cfg, since all tests are ↵Eli Bendersky2012-02-162-3/+1
| | | | | | | | run with LIT now and now Dejagnu. dg.exp is no longer needed. Patch reviewed by Daniel Dunbar. It will be followed by additional cleanup patches. llvm-svn: 150664
* The powers that be have decided that LLVM IR should now support 16-bitDan Gohman2011-12-171-0/+1
| | | | | | | | "half precision" floating-point with a first-class type. This patch adds basic IR support (but not codegen support). llvm-svn: 146786
* Manually upgrade the test suite to specify the flag to cttz and ctlz.Chandler Carruth2011-12-121-16/+16
| | | | | | | | | | | | | | | | | | | | | | | I followed three heuristics for deciding whether to set 'true' or 'false': - Everything target independent got 'true' as that is the expected common output of the GCC builtins. - If the target arch only has one way of implementing this operation, set the flag in the way that exercises the most of codegen. For most architectures this is also the likely path from a GCC builtin, with 'true' being set. It will (eventually) require lowering away that difference, and then lowering to the architecture's operation. - Otherwise, set the flag differently dependending on which target operation should be tested. Let me know if anyone has any issue with this pattern or would like specific tests of another form. This should allow the x86 codegen to just iteratively improve as I teach the backend how to differentiate between the two forms, and everything else should remain exactly the same. llvm-svn: 146370
* Add support for vectors of pointers.Nadav Rotem2011-12-052-0/+22
| | | | llvm-svn: 145801
* remove autoupgrade support for old forms of llvm.prefetch and the oldChris Lattner2011-11-271-2/+0
| | | | | | | trampoline forms. Both of these were correct in LLVM 3.0, and we don't need to support LLVM 2.9 and earlier in mainline. llvm-svn: 145174
* Update tests to the newest EH syntax.Bill Wendling2011-08-252-26/+35
| | | | llvm-svn: 138541
* Add feature test for the new exception handling stuff.Bill Wendling2011-08-251-0/+27
| | | | llvm-svn: 138539
* Revert r136253, r136263, r136269, r136313, r136325, r136326, r136329, r136338,Bill Wendling2011-07-301-54/+0
| | | | | | | r136339, r136341, r136369, r136387, r136392, r136396, r136429, r136430, r136444, r136445, r136446, r136253 pending review. llvm-svn: 136556
* Merge the contents from exception-handling-rewrite to the mainline.Bill Wendling2011-07-271-0/+54
| | | | | | This adds the new instructions 'landingpad' and 'resume'. llvm-svn: 136253
* Land the long talked about "type system rewrite" patch. ThisChris Lattner2011-07-092-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* more tests not making the jump into the brave new world.Chris Lattner2011-07-091-52/+0
| | | | llvm-svn: 134820
* Remove support for parsing the "type i32" syntax for defining a numberedChris Lattner2011-06-194-11/+8
| | | | | | | top level type without a specified number. This syntax isn't documented and blocks forward progress. llvm-svn: 133371
* Stop accepting and ignoring attributes in function types. Attributes are ↵Chris Lattner2011-06-171-3/+3
| | | | | | | | applied to functions and call/invokes, not to types. llvm-svn: 133266
* make the asmparser reject function and type redefinitions. 'Merging' hasn't ↵Chris Lattner2011-06-172-20/+0
| | | | | | | | been needed since llvm-gcc 3.4 days. llvm-svn: 133248
* manually upgrade a bunch of tests to modern syntax, and remove some thatChris Lattner2011-06-174-55/+4
| | | | | | are either unreduced or only test old syntax. llvm-svn: 133228
* Add a new function attribute, nonlazybind, which inhibits lazy-loadingJohn McCall2011-06-151-0/+2
| | | | | | | | | | | | | | | | optimizations when emitting calls to the function; instead those calls may use faster relocations which require the function to be immediately resolved upon loading the dynamic object featuring the call. This is useful when it is known that the function will be called frequently and pervasively and therefore there is no merit in delaying binding of the function. Currently only implemented for x86-64, where it turns into a call through the global offset table. Patch by Dan Gohman, who assures me that he's going to add LangRef documentation for this once it's committed. llvm-svn: 133080
* Revert r129235 pending a vetting of the EH rewrite.Bill Wendling2011-04-101-29/+0
| | | | | | | | | | | | | | | | --- Reverse-merging r129235 into '.': D test/Feature/bb_attrs.ll U include/llvm/BasicBlock.h U include/llvm/Bitcode/LLVMBitCodes.h U lib/VMCore/AsmWriter.cpp U lib/VMCore/BasicBlock.cpp U lib/AsmParser/LLParser.cpp U lib/AsmParser/LLLexer.cpp U lib/AsmParser/LLToken.h U lib/Bitcode/Reader/BitcodeReader.cpp U lib/Bitcode/Writer/BitcodeWriter.cpp llvm-svn: 129259
* Beginning of the Great Exception Handling Rewrite.Bill Wendling2011-04-101-0/+29
| | | | | | | | | | | | | * Add a "landing pad" attribute to the BasicBlock. * Modify the bitcode reader and writer to handle said attribute. Later: The verifier will ensure that the landing pad attribute is used in the appropriate manner. I.e., not applied to the entry block, and applied only to basic blocks that are branched to via a `dispatch' instruction. (This is a work-in-progress.) llvm-svn: 129235
* test: Check the feature 'loadable_module' with load modules in %llvmshlibdir.NAKAMURA Takumi2010-11-291-1/+3
| | | | | | %llvmshlibdir should be 'bin' on Cygming. llvm-svn: 120282
* remove unions from LLVM IR. They are severely buggy and notChris Lattner2010-08-281-14/+0
| | | | | | being actively maintained, improved, or extended. llvm-svn: 112356
* Extend function-local metadata to be usable as attachments.Dan Gohman2010-08-241-2/+4
| | | | llvm-svn: 111895
* Create the new linker type "linker_private_weak_def_auto".Bill Wendling2010-08-201-0/+1
| | | | | | | | | | | It's similar to "linker_private_weak", but it's known that the address of the object is not taken. For instance, functions that had an inline definition, but the compiler decided not to inline it. Note, unlike linker_private and linker_private_weak, linker_private_weak_def_auto may have only default visibility. The symbols are removed by the linker from the final linked image (executable or dynamic library). llvm-svn: 111684
* Disallow null as a named metadata operand.Dan Gohman2010-07-211-1/+1
| | | | | | | | | | | Make MDNode::destroy private. Fix the one thing that used MDNode::destroy, outside of MDNode itself. One should never delete or destroy an MDNode explicitly. MDNodes implicitly go away when there are no references to them (implementation details aside). llvm-svn: 109028
* Add support for empty named metadata too. This isn't particularlyDan Gohman2010-07-131-0/+1
| | | | | | useful, but it is nice for consistency. llvm-svn: 108262
* Add support for empty metadata nodes: !{}.Dan Gohman2010-07-131-1/+2
| | | | llvm-svn: 108259
* Implement the "linker_private_weak" linkage type. This will be used forBill Wendling2010-07-011-0/+6
| | | | | | | | | | | | | | | | | | | | | | | Objective-C metadata types which should be marked as "weak", but which the linker will remove upon final linkage. However, this linkage isn't specific to Objective-C. For example, the "objc_msgSend_fixup_alloc" symbol is defined like this: .globl l_objc_msgSend_fixup_alloc .weak_definition l_objc_msgSend_fixup_alloc .section __DATA, __objc_msgrefs, coalesced .align 3 l_objc_msgSend_fixup_alloc: .quad _objc_msgSend_fixup .quad L_OBJC_METH_VAR_NAME_1 This is different from the "linker_private" linkage type, because it can't have the metadata defined with ".weak_definition". Currently only supported on Darwin platforms. llvm-svn: 107433
* fix PR7105 by enumerating MDNodes on all @llvm.fooChris Lattner2010-05-101-0/+13
| | | | | | function calls, not just recognized intrinsics. llvm-svn: 103428
* add support for zero initialized unions, patch by Tim Northover!Chris Lattner2010-03-291-0/+2
| | | | llvm-svn: 99818
* Revert r98666 too; it's checkin-without-testing day!Daniel Dunbar2010-03-161-1/+1
| | | | llvm-svn: 98673
* temporarily xfailChris Lattner2010-03-161-1/+1
| | | | llvm-svn: 98666
* Add support for a union type in LLVM IR. Patch by Talin!Chris Lattner2010-02-121-0/+12
| | | | llvm-svn: 96011
* Add a new function attribute, 'alignstack'. It will indicate (when the backendsCharles Davis2010-02-121-0/+4
| | | | | | | implement support for it) that the stack should be forcibly realigned in the prologue (and the process reversed in the epilogue). llvm-svn: 95945
* fix bogus testChris Lattner2010-01-091-1/+1
| | | | llvm-svn: 93068
* Use separate namespace for named metadata.Devang Patel2010-01-071-0/+3
| | | | llvm-svn: 92931
* Allow null to be an element of NamedMDNode. e.g. !llvm.stuff = !{!0, !1, null}Devang Patel2010-01-051-1/+1
| | | | llvm-svn: 92783
* add bitcode reader support for blockaddress. We can now fullyChris Lattner2009-10-281-1/+7
| | | | | | | | | | round trip blockaddress through .ll and .bc files, so add a testcase. There are still a bunch of places in the optimizer and other places that need to be updated to work with these constructs, but at least the basics are in now. llvm-svn: 85377
* rename indbr -> indirectbr to appease the residents of #llvm.Chris Lattner2009-10-281-3/+3
| | | | llvm-svn: 85351
* add enough support for indirect branch for the feature test to passChris Lattner2009-10-271-0/+11
| | | | | | | (assembler,asmprinter, bc reader+writer) and document it. Codegen currently aborts on it. llvm-svn: 85274
* change of mind :)Chris Lattner2009-10-271-0/+0
| | | | llvm-svn: 85258
OpenPOWER on IntegriCloud