summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [MS ABI] Tolerate invokes of __RTDynamicCastDavid Majnemer2015-11-232-1/+21
| | | | | | | | | | | | The pointer returned by __RTDynamicCast must be bitcasted. However, it was not expected that __RTDynamicCast would be invoked, resulting in the bitcast occuring in a different BasicBlock than the invoke. This caused a down-stream PHI to get confused about which BasicBlock the incomming value was from. This fixes PR25606. llvm-svn: 253843
* [Analysis/CallGraph] Switch dump() definitions over to LLVM_DUMP_METHOD.Davide Italiano2015-11-231-6/+3
| | | | llvm-svn: 253842
* [LoopStrengthReduce] Mark dump() definitions as LLVM_DUMP_METHOD.Davide Italiano2015-11-231-14/+7
| | | | llvm-svn: 253841
* Add const qualifier for FunctionInfoIndex in ModuleLinker and linkInModule() ↵Mehdi Amini2015-11-232-4/+5
| | | | | | | (NFC) From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 253840
* Add const qualifier on FunctionInfoIndex::hasExportedFunctions() (NFC)Mehdi Amini2015-11-231-1/+1
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 253839
* Revert a portion of r253836 that seems to have broke a couple bots.Craig Topper2015-11-221-11/+14
| | | | llvm-svn: 253838
* [SCEV] Use C++11'ismsSanjoy Das2015-11-221-24/+19
| | | | llvm-svn: 253837
* [TableGen] Use range-based for loops. NFCCraig Topper2015-11-221-127/+112
| | | | llvm-svn: 253836
* [TableGen] Use std::fill instead of a manually coded loop. NFCCraig Topper2015-11-221-2/+2
| | | | llvm-svn: 253835
* Further simplify from r253832 with some unique_ptr and coalescing conditionsDavid Blaikie2015-11-221-17/+12
| | | | llvm-svn: 253834
* Further simplify from r253832, removing unnecessary intermediate lambdasDavid Blaikie2015-11-221-16/+4
| | | | llvm-svn: 253833
* [TableGen] Use std::any_of and std::find instead of manual loops. NFCCraig Topper2015-11-221-32/+23
| | | | llvm-svn: 253832
* Add a generic version of __divtc3.c for long double complex division.Joerg Sonnenberger2015-11-223-10/+62
| | | | | | Mark the unit test as applying to all platforms. llvm-svn: 253831
* [X86][FMA] Regenerate tests.Simon Pilgrim2015-11-221-8/+8
| | | | | | Fixes some broken checks. llvm-svn: 253830
* Use cabsl for long double, not cabs.Joerg Sonnenberger2015-11-221-1/+1
| | | | llvm-svn: 253829
* Move prototypes for the double-double helpers into the common header.Joerg Sonnenberger2015-11-223-9/+5
| | | | llvm-svn: 253828
* Don't use implementation namespace for include guard. Fix spacing.Joerg Sonnenberger2015-11-221-4/+4
| | | | llvm-svn: 253827
* [MDBuilder] Simplify code using initializer lists. NFC.Benjamin Kramer2015-11-221-28/+16
| | | | llvm-svn: 253826
* [SCEV] Simplify code. NFC.Benjamin Kramer2015-11-221-16/+5
| | | | llvm-svn: 253825
* [X86][AVX] Added load splat tests.Simon Pilgrim2015-11-221-0/+47
| | | | | | Placeholder for upcoming patch for PR23022. llvm-svn: 253824
* Remove duplicate getValueType() calls. NFCI.Simon Pilgrim2015-11-221-2/+2
| | | | llvm-svn: 253823
* Revert r253810. The builds should be fine now.Krzysztof Parzyszek2015-11-222-2/+2
| | | | llvm-svn: 253822
* [Utils] Updated shuffle fuzz script to generate more modern (valid) IR.Simon Pilgrim2015-11-221-2/+2
| | | | llvm-svn: 253821
* Avoid dependency between TableGen and CodeGenKrzysztof Parzyszek2015-11-224-68/+102
| | | | | | | | Duplicate a few common definitions between DFAPacketizer.cpp and DFAPacketizerEmitter.cpp to avoid including files from CodeGen in TableGen. llvm-svn: 253820
* AVX-512: Optimized INSERT_SUBVECTOR for i1 vector typesElena Demikhovsky2015-11-223-60/+277
| | | | | | | | | ISERT_SUBVECTOR for i1 vectors may be done with shifts, when we insert into the lower part, or into the upper part, on into all-zero vector. CONCAT_VECTORS uses ISERT_SUBVECTOR. Differential Revision: http://reviews.llvm.org/D14815 llvm-svn: 253819
* ScopInfo: Remove domains of error blocks (and blocks they dominate) early onTobias Grosser2015-11-223-2/+48
| | | | | | | | | | | | Trying to build up access functions for any of these blocks is likely to fail, as error blocks may contain invalid/non-representable instructions, and blocks dominated by error blocks may reference such instructions, which wil also cause failures. As all of these blocks are anyhow assumed to not be executed, we can just remove them early on. This fixes http://llvm.org/PR25596 llvm-svn: 253818
* [coroutines] Check for overload sets in co_yield / co_return operands being ↵Richard Smith2015-11-222-19/+36
| | | | | | resolved by a call to yield_value / return_value before rejecting them. llvm-svn: 253817
* [coroutines] Build implicit return_value / return_void calls for co_return.Richard Smith2015-11-223-25/+51
| | | | llvm-svn: 253816
* Test: Update mingw-useld.c to reflect r253813Martell Malone2015-11-221-4/+4
| | | | llvm-svn: 253815
* [PGO] move names of runtime sections definitions to InstrProfData.inc Xinliang David Li2015-11-223-7/+51
| | | | | | | | | | In profile runtime implementation for Darwin, Linux and FreeBSD, the names of sections holding profile control/counter/naming data need to be known by the runtime in order to locate the start/end of the data. Moving the name definitions to the common file to specify the connection. llvm-svn: 253814
* Driver: Specifically tell the linker the target for mingw-w64Martell Malone2015-11-221-1/+8
| | | | | | | | | Cross compiling from linux and OSX results in Error: Exec format. This is because the linker is expecting ELF formated objects. By passing the target we can explicitly tell the linker that it should be linking COFF objects regardless of the host. llvm-svn: 253813
* [coroutines] Materialize the awaitable before generating the await_* calls.Richard Smith2015-11-221-5/+9
| | | | llvm-svn: 253812
* [coroutines] Factor out co_await representation into common base class for ↵Richard Smith2015-11-227-109/+129
| | | | | | co_await and co_yield, and use it to hold await_* calls. llvm-svn: 253811
* Temporary fix broken build.ninja after r253790.NAKAMURA Takumi2015-11-222-2/+2
| | | | | | | | | | | | | | FIXME: This can be reverted several hours later. r253790 introduced cyclic deps around llvm-tblgen and it was affecting after reverting. ninja: error: dependency cycle: include/llvm/IR/Attributes.inc -> include/llvm/IR/Attributes.inc.tmp -> bin/llvm-tblgen -> utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o -> include/llvm/IR/Attributes.inc It may be a ninja's bug. FYI, renaming DFAPacketizerEmitter.cpp would be useless. llvm-svn: 253810
* [PGO] move raw magic and version def to InstrProfData.inc Xinliang David Li2015-11-222-22/+25
| | | | | | These are shared definitions too. (NFC) llvm-svn: 253809
* [llvm-rtdyld] Refactor to reduce indentation.Davide Italiano2015-11-221-5/+4
| | | | | | Suggested by: David Blaikie. llvm-svn: 253808
* [PGO] InstrProf Template file documentation changeXinliang David Li2015-11-221-39/+73
| | | | | | | | | | Add more complete description of the content and structure of the template file. Made the comment in C style to be shared by C runtime. Also enhance the file structure so that it can included as standalone header for common definitions. llvm-svn: 253807
* [PGO] Move Value Profile Kind to InstrProfData.incXinliang David Li2015-11-222-4/+20
| | | | | | | ValueProfKind value affects runtime data structure and definition is shared between compiler-rt and LLVM. llvm-svn: 253806
* [PGO] Define value profiling updater API signature in InstrProfData.inc (NFC)Xinliang David Li2015-11-222-7/+25
| | | | llvm-svn: 253805
* Have a single way for creating unique value names.Rafael Espindola2015-11-2223-111/+106
| | | | | | | | | | | We had two code paths. One would create names like "foo.1" and the other names like "foo1". For globals it is important to use "foo.1" to help C++ name demangling. For locals there is no strong reason to go one way or the other so I kept the most common mangling (foo1). llvm-svn: 253804
* [PGO] Move Raw Header def into template file InstrProfData.incXinliang David Li2015-11-222-21/+35
| | | | | | To enable code sharing with compiler-rt (NFC) llvm-svn: 253803
* fix formatting; NFCSanjay Patel2015-11-221-5/+5
| | | | llvm-svn: 253802
* [SCEVExpander] Use C++isms; NFCSanjoy Das2015-11-211-43/+28
| | | | llvm-svn: 253801
* Remove -polly-code-generator=isl from many test casesTobias Grosser2015-11-2137-58/+58
| | | | | | | This is the default since a long time. Setting it again does not add value in any of these test cases. llvm-svn: 253800
* Now fix errors in NDEBUG build.Krzysztof Parzyszek2015-11-211-33/+49
| | | | | | Hope this won't break any hardware next. llvm-svn: 253799
* Fix warnings in NDEBUG buildKrzysztof Parzyszek2015-11-211-8/+5
| | | | llvm-svn: 253798
* ELF: Make .note.GNU-stack more compatible with traditional linkers.Rui Ueyama2015-11-2124-204/+132
| | | | | | | | | | | | | With this patch, lld creates PT_GNU_STACK segments only when all input files have .note.GNU-stack sections. This is in line with other linkers with a minor difference (we don't care about .note.GNU-stack rwx bits as you can always remove .note.GNU-stack sections instead of setting x bit.) At least, NetBSD loader does not understand PT_GNU_STACK segments and reject any executables that have the section. This patch makes lld compatible with such operating systems. llvm-svn: 253797
* [ThinLTO] Handle bitcode without function summary sections gracefullyTeresa Johnson2015-11-217-19/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Several fixes to the handling of bitcode files without function summary sections so that they are skipped during ThinLTO processing in llvm-lto and the gold plugin when appropriate instead of aborting. 1 Don't assert when trying to add a FunctionInfo that doesn't have a summary attached. 2 Skip FunctionInfo structures that don't have attached function summary sections when trying to create the combined function summary. 3 In both llvm-lto and gold-plugin, check whether a bitcode file has a function summary section before trying to parse the index, and skip the bitcode file if it does not. 4 Fix hasFunctionSummaryInMemBuffer in BitcodeReader, which had a bug where we returned to early while looking for the summary section. Also added llvm-lto and gold-plugin based tests for cases where we don't have function summaries in the bitcode file. I verified that either the first couple fixes described above are enough to avoid the crashes, or fixes 1,3,4. But have combined them all here for added robustness. Reviewers: joker.eph Subscribers: llvm-commits, joker.eph Differential Revision: http://reviews.llvm.org/D14903 llvm-svn: 253796
* [MachineInstrBuilder] Support for adding a ConstantPoolIndex MO with an ↵Simon Pilgrim2015-11-212-10/+32
| | | | | | | | | | | | | | additional offset. MachineInstrBuilder::addDisp can already add an immediate or global address MO with an adjusted offset, this patch adds support for constant pool indices as well. All remaining MO types still assert - there are a number of other types that could support adjusted offsets but I have no test cases at this time. Required to fix a regression in D13988 found by Mikael Holmén during stress testing (test case attached). Differential Revision: http://reviews.llvm.org/D14867 llvm-svn: 253795
* isl: Update to isl-0.15-136-g4d5654aTobias Grosser2015-11-219-8/+160
| | | | | | | | The most interesting change for Polly in this isl update is 4d5654af which in certain cases can speed up the construction of run-time checks from an isl set consisting of several disjuncts significantly. llvm-svn: 253794
OpenPOWER on IntegriCloud