summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add the option -no-symbolic-operands to llvm-objdump used with -macho andKevin Enderby2015-03-172-3/+16
| | | | | | -disassemble to not symbolic operands when disassembling. llvm-svn: 232558
* XformToShuffleWithZero - Added clearer early outs and general tidy up. NFCISimon Pilgrim2015-03-171-31/+38
| | | | llvm-svn: 232557
* Imply linker arguments from '-fveclib' option.Michael Zolotukhin2015-03-172-0/+19
| | | | | | | | | | Summary: As discussed in D8097, we should provide corresponding linking flags when 'fveclib' is specified. Reviewers: hfinkel Differential Revision: http://reviews.llvm.org/D8362 llvm-svn: 232556
* [sanitizer] change the format of coverage dump: instead of always dumping ↵Kostya Serebryany2015-03-173-39/+49
| | | | | | 32-bit offsets dump 32-bit offsets on 32-bit arch and 64-bit offsets on 64-bit arch. Also add the 'bits' parameter to sancov.py. This is a user-visible interface change. llvm-svn: 232555
* MS ABI: Build C++ default argument exprs for exported template classesReid Kleckner2015-03-176-5/+21
| | | | | | This was an omission from r232229. llvm-svn: 232554
* Selection DAG preprocessing on HexagonKrzysztof Parzyszek2015-03-171-2/+52
| | | | | | Simplify: (or (select c x 0) z) -> (select c (or x z) z) (or (select c 0 y) z) -> (select c z (or y z)) llvm-svn: 232553
* Enable TestDataFormatterStdIterator with GCC.Siva Chandra2015-03-171-1/+0
| | | | | | | | | | | | | | | | | Summary: This test now passes for Clang and GCC. I do not know why it was disabled for GCC with link to a bug which should not have had an effect on this test. Test Plan: dotest.py -C gcc -p TestDataFormatterStdIterator Reviewers: vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8396 llvm-svn: 232552
* Remove StringRef->std::string->StringRef conversions.Yaron Keren2015-03-171-3/+3
| | | | | | | | As StringInit::get() accepts StringRef there is no need to construct a std::string out of the StringRef input and then construct a new StringRef from the std::string. llvm-svn: 232551
* DebugInfo: Drop fake DW_TAG_expressionDuncan P. N. Exon Smith2015-03-174-7/+3
| | | | | | | | | | | | | Break MDExpression off of DebugNode (inherit directly from `MDNode`) and drop the fake `DW_TAG_expression` tag in the process. AFAICT, there's no real functionality change here. The tag was originally used by `DIDescriptor::isExpression()` to discriminate between `MDNode`s, but in the new hierarchy we don't need that. Fixes PR22780. llvm-svn: 232550
* Emit the offset directly instead of creating a dummy expression.Rafael Espindola2015-03-172-26/+6
| | | | | | | | We were creating an expression of the form (S+C)-S which is just C. Patch by Frédéric Riss. I just added the testcase. llvm-svn: 232549
* Implement formatter for std::vector<bool, ...> of libstdc++ in Python.Siva Chandra2015-03-174-273/+126
| | | | | | | | | | | | | | | | | | | Summary: The existing formatter in C++ has been removed as it was not being used. The associated test TestDataFormatterStdVBool.py has been enabled for both Clang and GCC on Linux. Test Plan: dotest.py -p TestDataFormatterStdVBool Reviewers: vharron, clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8390 llvm-svn: 232548
* Add the option, -no-leading-addr llvm-objdump used with -macho andKevin Enderby2015-03-173-20/+57
| | | | | | -disassemble or -section to not print the leading addresses on each line. llvm-svn: 232547
* [docs] Fix some malformed links.Sean Silva2015-03-172-2/+2
| | | | | | Patch by Stanislav Manilov! llvm-svn: 232546
* Revert "COFF: Let globals with private linkage reside in their own section"David Majnemer2015-03-176-42/+3
| | | | | | This reverts commit r232539. This was committed accidently. llvm-svn: 232543
* Internalize BitcodeReader. Not used outside of BitcodeReader.cpp.Benjamin Kramer2015-03-172-385/+342
| | | | | | NFC. llvm-svn: 232542
* Revert "Address review comments"David Majnemer2015-03-173-12/+13
| | | | | | This reverts commit r232540. This was committed accidently. llvm-svn: 232541
* Address review commentsDavid Majnemer2015-03-173-13/+12
| | | | llvm-svn: 232540
* COFF: Let globals with private linkage reside in their own sectionDavid Majnemer2015-03-176-3/+42
| | | | | | | | | | | | | | | Summary: COFF COMDATs (for selection kinds other than 'select any') require at least one non-section symbol in the symbol table. Satisfy this by morally enhancing the linkage from private to internal. Reviewers: rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8374 llvm-svn: 232539
* MS ABI: Emit HandlerMap entries for C++ catchDavid Majnemer2015-03-179-14/+93
| | | | | | | | | | | | | The HandlerMap describes, to the runtime, what sort of catches surround the try. In principle, this structure has to be emitted by the backend because only it knows the layout of the stack (the runtime needs to know where on the stack the destination of a copy lives, etc.) but there is some C++ specific information that the backend can't reason about. Stick this information in special LLVM globals with the relevant "const", "volatile", "reference" info mangled into the name. llvm-svn: 232538
* WIPDavid Majnemer2015-03-176-23/+30
| | | | llvm-svn: 232537
* Try to fix a test broken by one of my previous commits.Michael Zolotukhin2015-03-171-0/+3
| | | | llvm-svn: 232536
* Centralize the handling of unique ids for temporary labels.Rafael Espindola2015-03-1714-87/+64
| | | | | | | | | | | | | | | | Before this patch code wanting to create temporary labels for a given entity (function, cu, exception range, etc) had to keep its own counter to have stable symbol names. createTempSymbol would still add a suffix to make sure a new symbol was always returned, but it kept a single counter. Because of that, if we were to use just createTempSymbol("cu_begin"), the label could change from cu_begin42 to cu_begin43 because some other code started using temporary labels. Simplify this by just keeping one counter per prefix and removing the various specialized counters. llvm-svn: 232535
* Remove ScriptInterpreterObject.Zachary Turner2015-03-1720-972/+1141
| | | | | | | | | | | | | | | | | | | | | | | | | This removes ScriptInterpreterObject from the codebase completely. Places that used to rely on ScriptInterpreterObject now use StructuredData::Object and its derived classes. To support this, a new type of StructuredData object is introduced, called StructuredData::Generic, which stores a void*. Internally within the python library, StructuredPythonObject subclasses this StructuredData::Generic class so that it can addref and decref the python object on construction and destruction. Additionally, all of the classes in PythonDataObjects.h such as PythonList, PythonDictionary, etc now provide a method to create an instance of the corresponding StructuredData type. For example, there is PythonDictionary::CreateStructuredDictionary. To eliminate dependencies on PythonDataObjects for external callers, all ScriptInterpreter methods now return only StructuredData classes The rest of the changes in this CL are focused on fixing up users of PythonDataObjects classes to use the new StructuredData classes. llvm-svn: 232534
* Add fveclib option.Michael Zolotukhin2015-03-177-0/+38
| | | | | Review: http://reviews.llvm.org/D8097 llvm-svn: 232533
* Internalize llvm::AssemblyWriter. It's not used outside of AsmWriter.cpp.Benjamin Kramer2015-03-172-136/+86
| | | | | | | This is an artifact of an implementation detail of DebugIR that has been long refactored away. NFC. llvm-svn: 232532
* TLI: Add addVectorizableFunctionsFromVecLib.Michael Zolotukhin2015-03-173-0/+232
| | | | | | | | Also, add several entries to vectorizable functions table, and corresponding tests. The table isn't complete, it'll be populated later. Review: http://reviews.llvm.org/D8131 llvm-svn: 232531
* LoopVectorize: teach loop vectorizer to vectorize calls.Michael Zolotukhin2015-03-172-35/+164
| | | | | | | The tests would be committed in a commit for http://reviews.llvm.org/D8131 Review: http://reviews.llvm.org/D8095 llvm-svn: 232530
* Let libc++'s LIT configuration setup our linker paths and env.Eric Fiselier2015-03-172-18/+2
| | | | llvm-svn: 232529
* TTI: Honour cost model for estimating cost of vector-intrinsic and calls.Michael Zolotukhin2015-03-173-28/+46
| | | | | Review: http://reviews.llvm.org/D8096 llvm-svn: 232528
* Fix DYNLD_LIBRARY_PATH to include the ABI path if specifiedEric Fiselier2015-03-171-13/+20
| | | | llvm-svn: 232527
* Fix failed test command repro printing for *.pass.cpp testsJonathan Roelofs2015-03-172-4/+8
| | | | | | | | Before we were printing out the compile command twice, which isn't that useful. Thanks EricWF for the report! llvm-svn: 232526
* Add assertion to detect invalid registers in the PowerPC MC instruction ↵Samuel Antao2015-03-171-0/+3
| | | | | | | | lowering. We have observed that noreg was being generated due to a bug in FastIsel and was not being detected during emission. It happens that in the Asm emission there is an assertion that detects this in getRegisterName() from the tbl-generated file PPCGenAsmWriter.inc. However, when emitting an Obj file, invalid registers can be emitted given that no check are made in getBinaryCodeFromInstr() from PPCGenMCCodeEmitter.inc. In order to cover all cases this adds an assertion for reg operands in LowerPPCMachineInstrToMCInst. llvm-svn: 232525
* TTI: Add getCallInstrCost.Michael Zolotukhin2015-03-174-0/+34
| | | | | Review: http://reviews.llvm.org/D8094 llvm-svn: 232524
* TLI: Add interface for querying whether a function is vectorizable.Michael Zolotukhin2015-03-172-0/+125
| | | | | Review: http://reviews.llvm.org/D8093 llvm-svn: 232523
* LoopVectorizer: Add TargetTransformInfo.Michael Zolotukhin2015-03-171-9/+12
| | | | | Review: http://reviews.llvm.org/D8092 llvm-svn: 232522
* [asan] remove redundant ifndefs. NFCKostya Serebryany2015-03-171-9/+5
| | | | llvm-svn: 232521
* MS ABI: Delay default constructor closure checking until the outermost class ↵Reid Kleckner2015-03-176-32/+67
| | | | | | | | | | | | | | | | | scope ends Previously, we would error out on this code because the default argument wasn't parsed until the end of Outer: struct __declspec(dllexport) Outer { struct __declspec(dllexport) Inner { Inner(void *p = 0); }; }; Now we do the checking on the closing brace of Outer instead of Inner. llvm-svn: 232519
* add option to tell LIT where to find the libc++ library when built out of treeEric Fiselier2015-03-173-2/+9
| | | | llvm-svn: 232518
* Remove LookupSymbol(StringRef) and optimize LookupSymbol(Twine).Yaron Keren2015-03-172-8/+3
| | | | | | | | Same as MakeArgString in r232465, keep only LookupSymbol(Twine) while making sure it handles the StringRef like cases efficiently using twine::toStringRef. llvm-svn: 232517
* Clean up iostream creation in preparation for conditionalizing streams.Ed Schouten2015-03-171-18/+20
| | | | | | | | | | | | Interleave the code for narrow and wide character streams. This makes it more obvious that the two pieces of code are identical. Furthermore, it makes it easier to conditionally compile support for certain streams, as less #ifdef blocks are needed. Differential Revision: http://reviews.llvm.org/D8342 Reviewed by: marshall llvm-svn: 232516
* [libcxx] Add <experimental/tuple> header for LFTS.Eric Fiselier2015-03-1718-11/+1694
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds the `<experimental/tuple>` header (almost) as specified in the latest draft of the library fundamentals TS. The main changes in this patch are: 1. Added variable template `tuple_size_v` 2. Added function `apply(Func &&, Tuple &&)`. 3. Changed `__invoke` to be `_LIBCPP_CONSTEXPR_AFTER_CXX11`. The `apply(...)` implementation uses `__invoke` to invoke the given function. `__invoke` already provides the required functionality. Using `__invoke` also allows `apply` to be used on pointers to member function/objects as an extension. In order to facilitate this `__invoke` has to be marked `constexpr`. Test Plan: Each new feature was tested. The test cases for `tuple_size_v` are as follows: 1. tuple_size_v.pass.cpp - Check `tuple_size_v` on cv qualified tuples, pairs and arrays. 2. tuple_size_v.fail.cpp - Test on reference type. 3. tuple_size_v_2.fail.cpp - Test on non-tuple 4. tuple_size_v_3.fail.cpp - Test on pointer type. The test cases for tuple.apply are as follows: 1. arg_type.pass.cpp - Ensure that ref/pointer/cv qualified types are properly passed. 2. constexpr_types.pass.cpp - Ensure constexpr evaluation of apply is possible for `tuple` and `pair`. 3. extended_types.pass.cpp - Test apply on function types permitted by extension. 4. large_arity.pass.cpp - Test that apply can evaluated on tuples and arrays with large sizes. 5. ref_qualifiers.pass.cpp - Test that apply respects ref qualified functions. 6. return_type.pass.cpp - Test that apply returns the proper type. 7. types.pass.cpp - Test apply on function types as required by LFTS. Reviewers: mclow.lists Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4512 llvm-svn: 232515
* Fix debug info now that the verifier is onDuncan P. N. Exon Smith2015-03-171-2/+2
| | | | | | | | `i32 0` isn't a valid type, and `!{i32 0}` isn't an empty array. Needed because of r232505. llvm-svn: 232514
* [ARM] Fix offset calculation in ARMBaseRegisterInfo::needsFrameBaseRegRichard Barton2015-03-173-26/+35
| | | | | | | | | | | | | The input offset to needsFrameBaseReg is a negative value below the top of the stack frame, but when converting to a positive offset from the bottom of the stack frame this value was negated, causing the final offset to be too large by twice the input offset's magnitude. Fix that by not negating the offset. Patch by John Brawn Differential Revision: http://reviews.llvm.org/D8316 llvm-svn: 232513
* Comment parsing: move a diagnostic to the correct group.Dmitri Gribenko2015-03-174-6/+21
| | | | | | Based on a patch by LE GARREC Vincent. llvm-svn: 232511
* [SwitchLowering] Remove incoming values in the reverse orderMichael Liao2015-03-172-1/+140
| | | | | | | - To prevent invalidating *successive* indices. llvm-svn: 232510
* [docs] Fix copy-and-paste bug in def-use exampleAdam Nemet2015-03-171-1/+1
| | | | | | | This appeared when the example was converted to use range-based loop in r207755. llvm-svn: 232509
* Fix GCC -Wparentheses warning (& reformat now that the precedence is fixed)David Blaikie2015-03-171-2/+2
| | | | | | | Benign warning (clang deliberately suppresses this case) but does regularly produce bad formatting, so it's nice to fix/reformat. llvm-svn: 232508
* Fix the clang -Werror build by suppressing -Wextended-offsetofDavid Blaikie2015-03-171-2/+2
| | | | llvm-svn: 232507
* asan: remove left-over code from submitted in rev r232501Dmitry Vyukov2015-03-171-7/+0
| | | | | | | __sanitizer_cov_hint is part of a different functionality and was not intended to be submitted. llvm-svn: 232506
* Verifier: Set --verify-debug-info=true by defaultDuncan P. N. Exon Smith2015-03-171-1/+1
| | | | | | | | | | | | | | | | | | | r186634 started verifying debug info, and r194986 disabled it by default because it was too expensive to run the checks on every function (since most of the graph was reachable from each function). r206300 moved the checks to module-level to make it cheaper, but there was already quite a bit of testcase bitrot (and the verifier would only print `<badref>`) so I guess no one had time to turn it back on. This does just that. Upgrade scripts this past autumn and winter probably fixed some of the bitrot, and this weekend I fixed the verifier output (r232275, r232417, r232418) and thusly the remaining failing testcases (r232290, r232415). This is part of PR22777. llvm-svn: 232505
OpenPOWER on IntegriCloud