summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [ELF2] Add --[no-]whole-archive command line switchesIgor Kudrin2015-10-018-6/+80
| | | | | | | | | | | | | | | | | Summary: If --whole-archive is used, all symbols from the following archives are added to the output. --no-whole-archive restores default behavior. These switches can be used multiple times. NB. We have to keep an ArchiveFile instance within SymbolTable even if --whole-archive mode is active since it can be a thin archive which contains just names of external files. In that case actual memory buffers for the archive members will be stored within the File member of ArchiveFile class. Reviewers: rafael, ruiu Subscribers: grimar, llvm-commits Projects: #lld Differential Revision: http://reviews.llvm.org/D13286 llvm-svn: 249045
* [asan] Tune down SizeClassAllocator tests.Evgeniy Stepanov2015-10-011-1/+1
| | | | | | | This should make the Android/x86 bot (running on a Nexus Player) less flaky. llvm-svn: 249044
* Fix printing of 64 bit values and make test more strict.Rafael Espindola2015-10-012-17/+30
| | | | llvm-svn: 249043
* AMDGPU: Add MEM_RAT STORE_TYPED.Tom Stellard2015-10-015-0/+55
| | | | | | | | | | | | v2: Add test (Matt). Fix capitalization of isEOP (Matt). Move pattern to class parameter (Matt). Make the instruction available to Cayman (Matt). Change name from MEM_RAT WRITE_TYPED to MEM_RAT STORE_TYPED. Patch by: Zoltan Gilian llvm-svn: 249042
* AMDGPU: Factor out EOP query.Tom Stellard2015-10-011-4/+6
| | | | | | | | v2: Fix brace placement and capitalization (Matt). Patch by: Zoltan Gilian llvm-svn: 249041
* Use %HOME%/.lldb/module_cache as a default module cache directory.Oleksiy Vyalov2015-10-011-8/+15
| | | | | | http://reviews.llvm.org/D13323 llvm-svn: 249040
* Removed a mutex guard that I accidentally pasted in from other code.Sean Callanan2015-10-011-2/+0
| | | | | | It was causing deadlocks when stepping out. llvm-svn: 249039
* ELF2: Tidy up Options.td again.Rui Ueyama2015-10-011-6/+4
| | | | llvm-svn: 249038
* Remove trailing whitespaces.Rui Ueyama2015-10-013-12/+12
| | | | llvm-svn: 249037
* [ELF2] Implement --allow-shlib-undefined as default behavior.George Rimar2015-10-014-0/+37
| | | | | | | We ignore --{no,}allow-shlib-undefined options and always allow undefined symbols if we are building a DSO. llvm-svn: 249036
* Reformat.NAKAMURA Takumi2015-10-011-1/+2
| | | | llvm-svn: 249033
* Revert r248959, "[WinEH] Emit int3 after noreturn calls on Win64"NAKAMURA Takumi2015-10-018-134/+24
| | | | | | It broke; LLVM :: CodeGen__Generic__2009-11-16-BadKillsCrash.ll llvm-svn: 249032
* Module debugging: Also emit Objective-C interfaces forward declarationsAdrian Prantl2015-10-013-3/+11
| | | | | | in their module scope when building a clang module. llvm-svn: 249031
* Allow a ToolChain to compute the path of a compiler-rt's component.Vasileios Kalintiris2015-10-014-57/+48
| | | | | | | | | | | | | | | | Summary: This patch moves getCompilerRT() from the clang::driver::tools namespace to the ToolChain class. This is needed for multilib toolchains that need to place their libraries in Clang's resource directory with a layout that is different from the default one. Reviewers: atanasyan, rsmith Subscribers: tberghammer, danalbert, srhines, cfe-commits Differential Revision: http://reviews.llvm.org/D13339 llvm-svn: 249030
* [ELF2] Add -Bstatic and -Bdynamic command line switchesIgor Kudrin2015-10-014-11/+64
| | | | | | | | | | | | | | | | | Summary: These switches affect library searching for '-l' which follow them. Synonym forms are also supported: * -dy and -call_shared for -Bdynamic switch * -dn, -non_shared and -static for -Bstatic switch Reviewers: rafael, ruiu Subscribers: emaste, llvm-commits Projects: #lld Differential Revision: http://reviews.llvm.org/D13238 llvm-svn: 249029
* Made Target hold a map of languages to TypeSystems, and added some accessors.Sean Callanan2015-10-0110-30/+139
| | | | | | | | Also added some target-level search functions so that persistent variables and symbols can be searched for without hand-iterating across the map of TypeSystems. llvm-svn: 249027
* Copy DT_SONAME to DT_NEEDED.Rafael Espindola2015-10-015-6/+43
| | | | | | | | | If a shared library has a DT_SONAME entry, that is what should be included in the DT_NEEDED of a program using it. We don't implement -soname yet, so check in a .so for now. llvm-svn: 249025
* ELF2: Linker scripts can refer other linker scripts. Test that.Rui Ueyama2015-10-011-0/+5
| | | | | | This did not work before r249023. llvm-svn: 249024
* ELF2: Define Driver::addFile() as a one-stop place to open a file.Rui Ueyama2015-10-015-60/+44
| | | | | | | | | | | | | | Opening a file and dispatching to readLinkerScript() or createFile() is a common operation. We want to use that at least from Driver and from LinkerScript. In COFF, we had the same problem. This patch resolves the problem in the same way as we did for COFF. Now, if you have a path that you want to open, just call Driver->addFile(StringRef). That function opens the file and handles that as if that were given by command line. This function is the only place we call identify_magic(). llvm-svn: 249023
* Use more strict types. NFC.Rafael Espindola2015-10-011-4/+8
| | | | | | On 32 bit ELF these are 32 bit values. llvm-svn: 249022
* Romove accidentially added statement in r249020Sagar Thakur2015-10-011-2/+0
| | | | llvm-svn: 249021
* [LLDB][MIPS] Fix gp register value for o32 applications on 64-bit targetSagar Thakur2015-10-012-8/+3
| | | | | | | GP registers for o32 applications were always giving zero value because SetType() on the RegisterValue was causing the accessor functions to pickup the value from m_scalar of RegisterValue which is zero. In this patch byte size and byte order of register value is set at the time of setting the value of the register. llvm-svn: 249020
* [VFS] Remove unused setters. NFC.Benjamin Kramer2015-10-011-2/+0
| | | | llvm-svn: 249019
* [InstCombine] Remove trivially empty lifetime start/end ranges.Arnaud A. de Grandmaison2015-10-012-0/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Some passes may open up opportunities for optimizations, leaving empty lifetime start/end ranges. For example, with the following code: void foo(char *, char *); void bar(int Size, bool flag) { for (int i = 0; i < Size; ++i) { char text[1]; char buff[1]; if (flag) foo(text, buff); // BBFoo } } the loop unswitch pass will create 2 versions of the loop, one with flag==true, and the other one with flag==false, but always leaving the BBFoo basic block, with lifetime ranges covering the scope of the for loop. Simplify CFG will then remove BBFoo in the case where flag==false, but will leave the lifetime markers. This patch teaches InstCombine to remove trivially empty lifetime marker ranges, that is ranges ending right after they were started (ignoring debug info or other lifetime markers in the range). This fixes PR24598: excessive compile time after r234581. Reviewers: reames, chandlerc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13305 llvm-svn: 249018
* Update clang-tidy documentation.Angel Garcia Gomez2015-10-013-0/+49
| | | | | | | | | | | | | | Summary: Improve modernize-use-auto documentation (https://llvm.org/bugs/show_bug.cgi?id=24962). Add documentation for modernize-make-unique. Reviewers: klimek Subscribers: cfe-commits, alexfh Differential Revision: http://reviews.llvm.org/D13346 llvm-svn: 249017
* ELF2: Rename undefError -> reportUndefined.Rui Ueyama2015-10-011-2/+2
| | | | | | | The new name starts with a verb, and it does not imply that it errors out and exit (it acutally can just emit a warning depending on settings.) llvm-svn: 249016
* [SystemZ] Add assembly instructions for obtaining clock values as well as ↵Ulrich Weigand2015-10-013-1/+149
| | | | | | | | | | | CPU features Provide assembler support for STCK, STCKF, STCKE, and STFLE. Author: joncmu Differential Revision: http://reviews.llvm.org/D13299 llvm-svn: 249015
* Fix Android-SDK detection on API 10 deviceTamas Berghammer2015-10-011-11/+7
| | | | | | | | Run the getprop command with AdbClient::Shell instead of Platform::RunShellCommand because getting the output from getprop with Platform::RunShellCommand have some (currently unknown) issues. llvm-svn: 249014
* Fix breakpoint opcode calculation on LinuxTamas Berghammer2015-10-011-2/+9
| | | | | | | | | | Change the way we detect if we have to place a thumb breakpoint instead of an arm breakpoint in the case when no symbol table or mapping symbols are available. Detect it based on the LSB of the FileAddress instead of the LSB of the LoadAddress because the LSB of the LoadAddress is already masked out. llvm-svn: 249013
* Restrict the scope of a hack in DYLDRendezvousTamas Berghammer2015-10-013-6/+36
| | | | | | | | | | The hack is there to work around an incorrect load address reported by the android linker on API 21 and 22 devices. This CL restricts the hack to those android API levels. Differential revision: http://reviews.llvm.org/D13288 llvm-svn: 249012
* [AArch64] Hoist commonly failing check. NFC.Chad Rosier2015-10-011-6/+6
| | | | llvm-svn: 249011
* [FIX] Parallel codegen for invariant loadsJohannes Doerfert2015-10-012-0/+38
| | | | | | Hand down all preloaded values to the parallel subfunction. llvm-svn: 249010
* [PowerPC] Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_* macros on all PPC coresHal Finkel2015-10-012-8/+9
| | | | | | | | | | | | We support all __sync_val_compare_and_swap_* builtins (only 64-bit on 64-bit targets) on all cores, and should define the corresponding __GCC_HAVE_SYNC_COMPARE_AND_SWAP_* macros, just as GCC does. As it turns out, this is really important because they're needed to prevent a bad ODR violation with libstdc++'s std::shared_ptr (this is well explained in PR12730). We were doing this only for P8, but this is necessary on all PPC systems. llvm-svn: 249009
* [AArch64] Rename variable to improve readability. NFC.Chad Rosier2015-10-011-10/+10
| | | | llvm-svn: 249008
* [AArch64] Update comment to reflect reality.Chad Rosier2015-10-011-2/+2
| | | | llvm-svn: 249007
* Prevent loop-convert from leaving empty lines after removing an alias ↵Angel Garcia Gomez2015-10-013-11/+50
| | | | | | | | | | | | | | declaration. Summary: This fixes https://llvm.org/bugs/show_bug.cgi?id=17716. Reviewers: klimek Subscribers: cfe-commits, alexfh Differential Revision: http://reviews.llvm.org/D13342 llvm-svn: 249006
* Revert "Decorating virtual functions load with invariant.load" and fixRenato Golin2015-10-012-16/+2
| | | | | | | This reverts commit r248982 as it was breaking the ARM buildbots and the fix didn't work. This reverts commit r248984, the fix that didn't work. llvm-svn: 249005
* [mips][microMIPS] Implement CACHEE, WRPGPR and WSBH instructionsZoran Jovanovic2015-10-019-5/+62
| | | | | | Differential Revision: http://reviews.llvm.org/D10337 llvm-svn: 249004
* [ARM] More care with Thumb1 writeback in ARMLoadStoreOptimizerScott Douglass2015-10-012-3/+34
| | | | | | Differential Revision: http://reviews.llvm.org/D13240 llvm-svn: 249002
* C++11 rangify for loops, NFC.Yaron Keren2015-10-011-29/+21
| | | | llvm-svn: 249001
* [FIX] Erase stall results during the SCoP detectionJohannes Doerfert2015-10-012-17/+35
| | | | | | | | | | | | | | | With this patch we erase cached results for regions that are invalid as early as possible. If we do not (as before), it is possible that two expanded regions will have the same address and the tracked results for both are mixed. Currently this would "only" cause pessimism in later passes but that will change when we allow invariant loads in the SCoP. Additionally, it triggers non-deterministic results as we might dismiss a later region because of results cached for an earlier one. There is no test case as the problem occurs only non-deterministically. llvm-svn: 249000
* [clang-format] Add support of consecutive declarations alignmentDaniel Jasper2015-10-015-11/+342
| | | | | | | | | | | | | | | | | | | This allows clang-format to align identifiers in consecutive declarations. This is useful for increasing the readability of the code in the same way the alignment of assignations is. The code is a slightly modified version of the consecutive assignment alignment code. Currently only the identifiers are aligned, and there is no support of alignment of the pointer star or reference symbol. The patch also solve the issue of alignments not being possible due to the ColumnLimit for both the existing AlignConsecutiveAligments and the new AlignConsecutiveDeclarations. Patch by Beren Minor, thank you. Review: http://reviews.llvm.org/D12362 llvm-svn: 248999
* Trim the output of mktem in PlatformAndroid::DownloadSymbolFileTamas Berghammer2015-10-011-1/+1
| | | | | | Differential revision: http://reviews.llvm.org/D13293 llvm-svn: 248998
* [clang-tidy] fix add_new_check.pyAlexander Kornienko2015-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Before this check, I would get the following error: Updating ./misc/CMakeLists.txt... Creating ./misc/NoReinterpret_castCheck.h... Creating ./misc/NoReinterpret_castCheck.cpp... Updating ./misc/MiscTidyModule.cpp... Creating ../test/clang-tidy/misc-no-reinterpret_cast.cpp... Creating ../docs/clang-tidy/checks/misc-no-reinterpret_cast.rst... Traceback (most recent call last): File "./add_new_check.py", line 271, in <module> main() File "./add_new_check.py", line 267, in main update_checks_list(module_path) File "./add_new_check.py", line 220, in update_checks_list os.listdir('docs/clang-tidy/checks'))) OSError: [Errno 2] No such file or directory: 'docs/clang-tidy/checks' Patch by Matthias Gehre! Differential revision: http://reviews.llvm.org/D13272 llvm-svn: 248997
* [clang-tidy] Implement FixitHints for identifier references in ↵Alexander Kornienko2015-10-014-33/+224
| | | | | | | | | | | | | | IdentifierNamingCheck This diff requires http://reviews.llvm.org/D13079 to be applied first. I wasn't sure about how to make patch series in Phabricator, and I wanted to keep the two separate for clarity. It looks like that most cases can be supported with this patch. I'm not totally sure about the actual coverage though. I think that the matchers are very generic, but I'm still not totally fluent with the AST. Patch by Beren Minor! Differential revision: http://reviews.llvm.org/D13081 llvm-svn: 248996
* Revert "Fixing a subtle issue on Mac OS X systems with dSYMs..."Pavel Labath2015-10-015-126/+140
| | | | | | | This reverts commit r248985, as it was breaking all remote expression-evaluating tests (on android at least). llvm-svn: 248995
* Add support for 'cbegin()' and 'cend()' on modernize-loop-convert.Angel Garcia Gomez2015-10-013-28/+56
| | | | | | | | | | | | | | | Summary: This fixes https://llvm.org/bugs/show_bug.cgi?id=22196 . Also add a non-trivially copyable type to fix some tests that were meant to be about using const-refs, but were changed in r248438. Reviewers: klimek Subscribers: alexfh, cfe-commits Differential Revision: http://reviews.llvm.org/D13292 llvm-svn: 248994
* Attempt to prevent flaky thread.mutex tests by once again increasing timing ↵Eric Fiselier2015-10-0113-28/+37
| | | | | | tolerances llvm-svn: 248993
* Add a Post-Build Event on Windows to copy the correct custom Python DLL to ↵Bruce Mitchener2015-10-011-0/+13
| | | | | | | | | | | | | | | | | | | | | | | the LLDB binaries dir Summary: After a developer builds LLDB from source on Windows (assuming they've built it with Python support enabled), they may be somewhat flustered when it fails to launch with a cryptic error. {F890625} This happens because Windows can't find python27.dll (or python27_d.dll in case LLDB was built in debug mode). Many developers may have previously installed a release build of Python 2.7 and will not notice anything is amiss when they run a release build of LLDB because Windows will load the python27.dll from one of the system directories or `PATH` (rather than the one that the LLDB build instructions tell them to build). The issue tends to be more pronounced with debug builds of LLDB, since fewer developers probably have python27_d.dll sitting in one of the Windows system directories. To ensure Windows loads the correct custom built Python DLL when launching LLDB I've added a post-build event that copies the relevant DLL (based on the LLDB build configuration) from `PYTHON_HOME` to the directory in which the LLDB executable is generated. Patch by Vadim Macagon. Thanks! Reviewers: brucem, zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13237 llvm-svn: 248992
* Use the correct Python lib for each build configuration generated by the ↵Bruce Mitchener2015-10-011-9/+33
| | | | | | | | | | | | | | | | | | | | | Visual Studio CMake generator Summary: Previously `CMAKE_BUILD_TYPE` was used to determine whether to link in `python27.lib` or `python27_d.lib`, unfortunately this only works reliably when using a CMake generator that generates a single build configuration (e.g. Ninja). The Visual Studio CMake generator generates four build configurations at once (`Debug`, `Release`, `RelWithDebInfo`, `MinSizeRel`), so if `CMAKE_BUILD_TYPE` is set to `Debug` all four build configurations end up linking in `python27_d.lib`, this is clearly undesirable. To ensure that the correct Python lib is used for each build configuration the value of `PYTHON_LIBRARY` is now determined using generator expressions that evaluate to either the debug or release Python lib. The values of `PYTHON_EXECUTABLE` and `PYTHON_DLL` are now likewise determined using generator expressions. Note that these changes only apply to the Windows build. Patch by Vadim Macagon. Thanks! Reviewers: zturner, brucem Subscribers: zturner, lldb-commits Differential Revision: http://reviews.llvm.org/D13234 llvm-svn: 248991
OpenPOWER on IntegriCloud