summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [MC] Convert tests to use llvm-readobj --macho-version-min.Davide Italiano2015-08-282-12/+24
| | | | | | As an added bonus this also tests the newly introduced feature. llvm-svn: 246296
* Support Debian s390x multiarch pathsSylvestre Ledru2015-08-282-1/+10
| | | | | | | | | | Summary: Patch by Steven Chamberlain <steven@pyro.eu.org> Reviewers: uweigand Differential Revision: http://reviews.llvm.org/D12430 llvm-svn: 246295
* Avoid usage of F_DUPFD_CLOEXEC where not available (e.g. kfreebsd*)Sylvestre Ledru2015-08-281-0/+14
| | | | | | | | | | | | | | | | | Summary: kfreebsd doesn't have F_DUPFD_CLOEXEC, so use it conditionally. Author: Emilio Pozuelo Monfort <pochu@debian.org> Author: Petr Salinger <Petr.Salinger@seznam.cz> Author: Gianfranco Costamagna Reviewers: emaste Subscribers: emaste Differential Revision: http://reviews.llvm.org/D12429 llvm-svn: 246294
* [LLDB][MIPS] Aligning code with rL245831Mohit K. Bhakkad2015-08-281-1/+1
| | | | | | | | Reviewers: jaydeep Subscribers: lldb-commits. Differential Revision: http://reviews.llvm.org/D12427 llvm-svn: 246293
* COFF: Create short import files instead of using lib.exe.Rui Ueyama2015-08-281-40/+130
| | | | | | | | | | | | | | | | | | | | | | lib.exe has a feature to create import library files (which contain short import files) from module-definition files. Previously, we were using that feature, but it turned out that the feature is not complete for us. There seems no way to specify "Import Types" in module-definition file. lib.exe always adds "_" to given symbols and specify IMPORT_NAME_UNDECORATE. We need more fine-grainded control on that value. This patch teaches LLD to create short import files itself. We are still using lib.exe, but the use of the tool is limited to create empty import library files. We then create short import files and add them to the empty files as new members. This patch does not intend to change the functionality. LLD produces the same import libraries as before. I'll make another change to create different import libraries in a follow-up patch. llvm-svn: 246292
* llvm-readobj: Dump more info for COFF import libraries.Rui Ueyama2015-08-286-11/+68
| | | | | | This patch teaches llvm-readobj to print out COFF import file header fields. llvm-svn: 246291
* [NFC] Make SCEVAffinator work without a statementJohannes Doerfert2015-08-284-20/+19
| | | | llvm-svn: 246290
* [SROA] Fix PR24463, a crash I introduced in SROA by allowing it toChandler Carruth2015-08-282-3/+36
| | | | | | | | | | | | handle more allocas with loads past the end of the alloca. I suspect there are some related crashers with slightly different patterns, but I'll fix those and add test cases as I find them. Thanks to David Majnemer for the excellent test case reduction here. Made this super simple to debug and fix. llvm-svn: 246289
* Revert "[OPENMP 4.0] Codegen for array sections."Daniel Jasper2015-08-284-247/+22
| | | | | | | The test is currently failing on bots: http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_check/12747/ llvm-svn: 246288
* IslNodeBuilder: Make functionality available to subclassesTobias Grosser2015-08-281-1/+1
| | | | llvm-svn: 246287
* IslNodeBuilder: Add function to export BlockGeneratorTobias Grosser2015-08-281-0/+5
| | | | llvm-svn: 246286
* BlockGenerator: Make scalar memory locations accessibleTobias Grosser2015-08-282-8/+33
| | | | | | | | | | For external users, the memory locations into which we generate scalar values may be of interest. This change introduces two functions that allow to obtain (or create) the AllocInsts for a given BasePointer. We use this change to simplify the code in BlockGenerators. llvm-svn: 246285
* Attempt to unbreak Win32 build.Rui Ueyama2015-08-281-0/+1
| | | | llvm-svn: 246284
* Re-apply r246276 - Object: Teach llvm-ar to create symbol table for COFF ↵Rui Ueyama2015-08-288-14/+99
| | | | | | | | | | | short import files This patch includes a fix for a llvm-readobj test. With this patch, the tool does no longer print out COFF headers for the short import file, but that's probably desirable because the header for the short import file is dummy. llvm-svn: 246283
* Revert r246214 and r246213Steven Wu2015-08-2813-571/+144
| | | | | | These two commits causes llvm LTO bootstrap to hang in ScalarEvolution. llvm-svn: 246282
* Virtualize the IslNodeBuilderTobias Grosser2015-08-281-6/+6
| | | | | | | | | This allows users to extend the IslNodeBuilder to create their own optimization passes. This feature is not used in Polly's codebase itself, but as these funtions are not performance critical, the cost of making experiments of external users easier seems low enough to do so. llvm-svn: 246281
* Fix most GCC warnings during build. Only -Wattribute left.Eric Fiselier2015-08-282-4/+5
| | | | llvm-svn: 246280
* Revert r246244 and r246243Steven Wu2015-08-285-258/+13
| | | | | | These two commits cause clang/llvm bootstrap to hang. llvm-svn: 246279
* [OPENMP 4.0] Codegen for array sections.Alexey Bataev2015-08-284-22/+247
| | | | | | Added codegen for array section in 'depend' clause of 'task' directive. It emits to pointers, one for the begin of array section and another for the end of array section. Size of the section is calculated as (end + 1 - start) * sizeof(basic_element_type). llvm-svn: 246278
* Rollback r246276 - Object: Teach llvm-ar to create symbol table for COFF ↵Rui Ueyama2015-08-284-56/+1
| | | | | | | | short import files This change caused a test for llvm-readobj to fail. llvm-svn: 246277
* Object: Teach llvm-ar to create symbol table for COFF short import files.Rui Ueyama2015-08-284-1/+56
| | | | | | | | | | | | | COFF short import files are special kind of files that contains only DLL-exported symbol names. That's different from object files because it has no data except symbol names. This change implements a SymbolicFile interface for the short import files so that symbol names can be accessed through that interface. llvm-ar is now able to read the file and create symbol table entries for short import files. llvm-svn: 246276
* Finally get the test suite passing in C++03!!Eric Fiselier2015-08-284-3/+12
| | | | | | | | | After months of work there are only 4 tests still failing in C++03. This patch fixes those tests. All of the libc++ builders should be green. llvm-svn: 246275
* LLVMCodeGen: Update libdeps corresponding to r246236.NAKAMURA Takumi2015-08-281-1/+1
| | | | llvm-svn: 246274
* Remove empty file that arcanist createdEric Fiselier2015-08-281-0/+0
| | | | llvm-svn: 246273
* [libcxx] Constrain unique_ptr::operator=(unique_ptr<Tp, Dp>) in C++03 modeEric Fiselier2015-08-281-2/+9
| | | | | | | | | | | | | | | | | Summary: This patch properly constrains the converting assignment operator in C++03. It also fixes a bug where std::forward was given the wrong type. The following two tests begin passing in C++03: * `unique_ptr.single.asgn/move_convert.pass.cpp` * `unique_ptr.single.asgn/move_convert13.fail.cpp` Reviewers: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D12173 llvm-svn: 246272
* [libcxx] Mark most test/std/future tests as UNSUPPORTED in C++03Eric Fiselier2015-08-2839-603/+356
| | | | | | | | | | | | | | | | | | | | Summary: This patch marks *most* tests for `std::promise`, `std::future` and `std::shared_future` as unsupported in C++03. These tests fail in C++03 mode because they attempt to copy a `std::future` even though it is a `MoveOnly` type. AFAIK the missing move-semantics in `std::future` is the only reason these tests fail but without move semantics these classes are useless. For example even though `std::promise::set_value` and `std::promise::set_exception(...)` work in C++03 `std::promise` is still useless because we cannot call `std::promise::get_future(...)`. It might be possible to hack `std::move(...)` like we do for `std::unique_ptr` to make the move semantics work but I don't think it is worth the effort. Instead I think we should leave the `<future>` header as-is and mark the failing tests as `UNSUPPORTED`. I don't believe there are any users of `std::future` or `std::promise` in C++03 because they are so unusable. Therefore I am not concerned about losing test coverage and possibly breaking users. However because there are still parts of `<future>` that work in C++03 it would be wrong to `#ifdef` out the entire header. @mclow.lists Should we take further steps to prevent the use of `std::promise`, `std::future` and `std::shared_future` in C++03? Note: This patch also cleans up the tests and converts them to use `support/test_allocator.h` instead of a duplicate class in `test/std/futures/test_allocator.h`. Reviewers: mclow.lists Subscribers: vsk, mclow.lists, cfe-commits Differential Revision: http://reviews.llvm.org/D12135 llvm-svn: 246271
* Fix bug in test_allocator<void> that used the wrong value to represent ↵Eric Fiselier2015-08-281-2/+2
| | | | | | object state llvm-svn: 246270
* Tweak XFAIL line for mips.Peter Collingbourne2015-08-281-1/+1
| | | | llvm-svn: 246269
* Kaleidoscope: Prune __attribute__((used)). Some compilers wouldn't accept one.NAKAMURA Takumi2015-08-285-10/+10
| | | | llvm-svn: 246268
* Disable llvm/test/Examples/ for now while investigating.NAKAMURA Takumi2015-08-281-2/+1
| | | | | | | | FIXME: - Introduce explicit mapping. - Investigate crash on win32. Could we introduce crash handler in examples? llvm-svn: 246267
* [libcxx] Optimize away unneeded length calculation in ↵Eric Fiselier2015-08-281-2/+10
| | | | | | | | | | | | | | | | basic_string::compare(const char*) Summary: This patch optimizes basic_string::compare to use strcmp when the default char_traits has been given. See PR19900 for more information. https://llvm.org/bugs/show_bug.cgi?id=19900 Reviewers: mclow.lists Subscribers: bkramer, cfe-commits Differential Revision: http://reviews.llvm.org/D12355 llvm-svn: 246266
* Remove irrelevant parts of the test.Rafael Espindola2015-08-281-9/+1
| | | | llvm-svn: 246265
* Make sure we output symbols in the same order on 32 and 64 bit builds.Rafael Espindola2015-08-282-26/+47
| | | | llvm-svn: 246264
* PR24597: Fix in-place evaluation of call expressions to provide a proper "this"Richard Smith2015-08-283-17/+64
| | | | | | pointer to an RVO construction of a returned object. llvm-svn: 246263
* Fix the gcc build:Rafael Espindola2015-08-281-0/+2
| | | | | | | InputFiles.h:98:53: error: invalid use of incomplete type ‘class lld::elf2::SymbolBody’ return SymbolBodies[SymbolIndex - FirstNonLocal]->getReplacement(); llvm-svn: 246262
* XFAIL parallel.ll test on MIPS and AArch64 until test failures can be ↵Peter Collingbourne2015-08-281-0/+3
| | | | | | investigated. llvm-svn: 246261
* Instead of duplicating code, call the base implementation.Eric Christopher2015-08-281-7/+1
| | | | llvm-svn: 246260
* Merge the two feature map setting functions into a single functionEric Christopher2015-08-283-33/+42
| | | | | | and replace all callers. llvm-svn: 246259
* [CodeGen] Support (and default to) expanding READCYCLECOUNTER to 0.Ahmed Bougacha2015-08-286-33/+54
| | | | | | | | | | | For targets that didn't support this, this will let us respect the langref instead of failing to select. Note that we don't need to change the 32-bit x86/PPC lowerings (to account for the result type/# difference) because they're both custom and bypass type legalization. llvm-svn: 246258
* [WinEH] Update coloring to handle nested cases cleanlyJoseph Tremoulet2015-08-282-70/+498
| | | | | | | | | | | | | | | | | | | | | | | Summary: Change the coloring algorithm in WinEHPrepare to visit a funclet's exits in its parents' contexts and so properly classify the continuations of nested funclets. Also change the placement of cloned blocks to be deterministic and to maintain the relative order of each funclet's blocks. Add a lit test showing various patterns that require cloning, the last several of which don't have CHECKs yet because they require cloning entire funclets which is NYI. Reviewers: rnk, andrew.w.kaylor, majnemer Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12353 llvm-svn: 246245
* Constant propagation after hitting assume(cmp) bugfixPiotr Padlewski2015-08-285-13/+71
| | | | | | | | | Last time code run into assertion `BBE.isSingleEdge()` in lib/IR/Dominators.cpp:200. http://reviews.llvm.org/D12170 llvm-svn: 246244
* Constant propagation after hiting llvm.assumePiotr Padlewski2015-08-282-3/+190
| | | | | | | | | | | After hitting @llvm.assume(X) we can: - propagate equality that X == true - if X is icmp/fcmp (with eq operation), and one of operand is constant we can change all variables with constants in the same BasicBlock http://reviews.llvm.org/D11918 llvm-svn: 246243
* Made a new abstract class named "DWARFASTParser" which lives in ↵Greg Clayton2015-08-2813-3826/+3950
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "source/Plugins/SymbolFile/DWARF": class DWARFASTParser { public: virtual ~DWARFASTParser() {} virtual lldb::TypeSP ParseTypeFromDWARF (const lldb_private::SymbolContext& sc, const DWARFDIE &die, lldb_private::Log *log, bool *type_is_new_ptr) = 0; virtual lldb_private::Function * ParseFunctionFromDWARF (const lldb_private::SymbolContext& sc, const DWARFDIE &die) = 0; virtual bool CompleteTypeFromDWARF (const DWARFDIE &die, lldb_private::Type *type, lldb_private::CompilerType &clang_type) = 0; virtual lldb_private::CompilerDeclContext GetDeclContextForUIDFromDWARF (const DWARFDIE &die) = 0; virtual lldb_private::CompilerDeclContext GetDeclContextContainingUIDFromDWARF (const DWARFDIE &die) = 0; }; We have one subclass named DWARFASTParserClang that implements all of the clang specific AST type parsing. This keeps all DWARF parsing in the DWARF plug-in. Moved all of the DWARF parsing code that was in ClangASTContext over into DWARFASTParserClang. lldb_private::TypeSystem classes no longer have any DWARF parsing functions in them, but they can hand out a DWARFASTParser: virtual DWARFASTParser * GetDWARFParser () { return nullptr; } This keeps things clean and makes for easy merging when we have different AST's for different languages. llvm-svn: 246242
* [CMake] Fix build on MSVC in r246156.NAKAMURA Takumi2015-08-281-1/+2
| | | | | | add_windows_version_resource_file() affects ALL_FILES. OBJLIB shouldn't have *.obj as SOURCES. llvm-svn: 246241
* Fix: CFLAA -- Mark no-args returns as unknownGeorge Burgess IV2015-08-282-0/+30
| | | | | | | | | | | | | | Prior to this patch, we hadn't been marking StratifiedSets with the appropriate StratifiedAttrs when handling the result of no-args call instructions. This caused us to report NoAlias when handed, for example, an escaped alloca and a result from an opaque function. Now we properly mark the return value of said functions. Thanks again to Chandler, Richard, and Nick for pinging me about this. Differential review: http://reviews.llvm.org/D12408 llvm-svn: 246240
* [AArch64][CollectLOH] Fix a regression that prevented us to detect chains ofQuentin Colombet2015-08-273-4/+580
| | | | | | | | | | | more than 2 instructions. I introduced this regression a while back and did not noticed it because I somehow forgot to push the initial test cases for the pass! Fix that as well! llvm-svn: 246239
* [clang-tidy] Documented the reason to run the test in C++98 mode.Alexander Kornienko2015-08-271-0/+3
| | | | llvm-svn: 246238
* Fix macro backtrace printing.Richard Trieu2015-08-272-8/+64
| | | | | | | | Sometimes, a macro that expands to another macro name will not be printed in the macro backtrace. This patch finds the missed macro expansions and prints them. Fixes PR16799 llvm-svn: 246237
* CodeGen: Introduce splitCodeGen and teach LTOCodeGenerator to use it.Peter Collingbourne2015-08-277-25/+213
| | | | | | | | | | | | | | | llvm::splitCodeGen is a function that implements the core of parallel LTO code generation. It uses llvm::SplitModule to split the module into linkable partitions and spawning one code generation thread per partition. The function produces multiple object files which can be linked in the usual way. This has been threaded through to LTOCodeGenerator (and llvm-lto for testing purposes). Separate patches will add parallel LTO support to the gold plugin and lld. Differential Revision: http://reviews.llvm.org/D12260 llvm-svn: 246236
* [WinEH] Add some support for code generating catchpadReid Kleckner2015-08-2738-90/+357
| | | | | | | We can now run 32-bit programs with empty catch bodies. The next step is to change PEI so that we get funclet prologues and epilogues. llvm-svn: 246235
OpenPOWER on IntegriCloud