summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [PrologEpilogInserter] Minor refactoring.Maksim Panchenko2015-09-191-1/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D12924 llvm-svn: 248084
* Driver: avoid unnecessary string opsSaleem Abdulrasool2015-09-192-24/+35
| | | | | | | | Use an enumeration for the Floating Point ABIs supported on MIPS. This is replicating the ARM change to avoid string based tracking of the floating point ABI. NFC. llvm-svn: 248083
* Test commit. Fix comment. NFC.Maksim Panchenko2015-09-191-1/+1
| | | | llvm-svn: 248082
* Remove unused #includes.Rui Ueyama2015-09-197-9/+0
| | | | llvm-svn: 248081
* clang-tools-extra: Appease PR24881. [-Wdocumentation]NAKAMURA Takumi2015-09-196-14/+27
| | | | | | \returns doesn't accept \li, but \parblock \li. llvm-svn: 248080
* Add test that we correctly allow some non-letter unicode characters inRichard Smith2015-09-191-1/+10
| | | | | | identifiers, and extend existing test to also cover C++. llvm-svn: 248079
* COFF: Parallelize InputFile::parse().Rui Ueyama2015-09-191-16/+22
| | | | | | | | | | | | | | | | | | | | | | | InputFile::parse() can be called in parallel with other calls of the same function. By doing that, time to self-link improves from 741 ms to 654 ms or 12% faster. This is probably the last low hanging fruit in terms of parallelism. Input file parsing and symbol table insertion takes 450 ms in total. If we want to optimize further, we probably have to parallelize symbol table insertion using concurrent hashmap or something. That's doable, but that's not easy, especially if you want to keep the exact same semantics and linking order. I'm not going to do that at least soon. Anyway, compared to r248019 (the change before the first attempt for parallelism), we achieved 36% performance improvement from 1022 ms to 654 ms. MSVC linker takes 3.3 seconds to link the same program. MSVC's ICF feature is very slow for some reason, but even if we disable the feature, it still takes about 1.2 seconds. Our number is probably good enough. llvm-svn: 248078
* Further simplify CGDebugInfo::getOrCreateModuleRef().Adrian Prantl2015-09-191-10/+8
| | | | | | DIBuilder ignoers DICompileUnits that are passed in as scopes anyway. llvm-svn: 248077
* Use std::move on these arguments.Adrian Prantl2015-09-191-2/+2
| | | | llvm-svn: 248076
* Fix Linux bot.Chaoren Lin2015-09-191-1/+2
| | | | llvm-svn: 248075
* [InstCombine] FoldICmpCstShrCst failed for ashr when comparing against -1David Majnemer2015-09-192-1/+10
| | | | | | | | | (icmp eq (ashr C1, %V) -1) may have multiple answers if C1 is not a power of two and has the sign bit set. This fixes PR24873. llvm-svn: 248074
* [InstCombine] FoldICmpCstShrCst didn't handle icmps of -1 in the ashr case ↵David Majnemer2015-09-191-6/+10
| | | | | | correctly llvm-svn: 248073
* Added a curses based way to see the test suite running. Works only where ↵Greg Clayton2015-09-193-17/+413
| | | | | | | | curses is implemented. Try it out with: ./dotest.py --results-formatter=test_results.Curses --results-file=/dev/stdout llvm-svn: 248072
* [elf2] Improve relocation-undefined-weak.s test.Michael J. Spencer2015-09-191-2/+17
| | | | llvm-svn: 248071
* Rename ASTSourceDescriptor::ModuleName to FullModuleName for clarity.Adrian Prantl2015-09-193-10/+11
| | | | llvm-svn: 248070
* Refactor ASTReader::getSourceDescriptor(const Module &) into a constructorAdrian Prantl2015-09-195-32/+21
| | | | | | | | of ASTSourceDescriptor. It was effectively a static function. NFC. llvm-svn: 248069
* Eliminate a redundant check.Adrian Prantl2015-09-191-3/+2
| | | | llvm-svn: 248068
* AMDGPU: Add failing testcase for live interval constructionMatt Arsenault2015-09-191-0/+29
| | | | llvm-svn: 248067
* test events: added optional value type to extra event key/val pairsTodd Fiala2015-09-183-4/+11
| | | | | | | | | | | | | The test events had worker indexes coming across as strings. I want them to be ints. worker_index now comes across as an int in the dicationary. The optional type can be specified with: --event-add-entries key=val[:type][,key2=val2[:type2]...] The type piece may be 'int' at this time. That is all. Otherwise it will be a string. llvm-svn: 248066
* [Static Analyzer] Fixed a false positive case in DynamicTypeChecker when ↵Gabor Horvath2015-09-182-0/+21
| | | | | | dealing with forward declarations. llvm-svn: 248065
* Split off the binary literal warning into a subgroup of C++14 warningsRichard Trieu2015-09-183-2/+8
| | | | | | | | | Binary literals predate C++14, but they are listed as a C++14 extension since this was the first time they were standardized in the language. Move the warning into a subgroup so it can be selectively disabled when checking for other C++14 features. llvm-svn: 248064
* COFF: Use parallel_sort in Writer::sortExceptionTable().Rui Ueyama2015-09-181-4/+6
| | | | | | | This patch saves 4 ms out of 5 ms. Very small improvement, but maybe better than nothing. llvm-svn: 248063
* CGDebugInfo: Make creating a skeleton CU in getOrCreateModuleRef optional.Adrian Prantl2015-09-182-16/+25
| | | | | | | | | We don't want a skeleton CU when generating debug info for the module itself. NFC. llvm-svn: 248062
* Fix build error that std::atomic is not copy-constructible.Rui Ueyama2015-09-181-1/+1
| | | | llvm-svn: 248061
* test events: add test_filename to all test-related events.Todd Fiala2015-09-181-0/+1
| | | | | | | The test_filename is the full path to the TestCase class's implementation file. llvm-svn: 248060
* test events: announce worker count in new initialize eventTodd Fiala2015-09-184-109/+103
| | | | | | | See the following for details: http://reviews.llvm.org/D12987 llvm-svn: 248059
* COFF: Address review comments.Rui Ueyama2015-09-181-9/+8
| | | | | | | - Fix race condition of `Redo` - Avoid std::distance llvm-svn: 248058
* On Linux, if you can't actually locate the libc++ install, do not attempt to ↵Enrico Granata2015-09-181-4/+9
| | | | | | | | | use it The failure mode when one gets this wrong is quite gnarly to then walk oneself out of, and if you can't actually find the library, trying to build against it is fairly pointless anyway This + my previous skip_if_library_missing change should make running the libc++ tests on a Linux machine without it much more seamless llvm-svn: 248057
* [elf2] Relocate against undefined weak symbols.Michael J. Spencer2015-09-182-1/+15
| | | | llvm-svn: 248056
* Moved ResolveSymbolicLink() to the FileSystem where it belongs, thanksSean Callanan2015-09-186-30/+31
| | | | | | | | zturner! http://reviews.llvm.org/D12984 llvm-svn: 248055
* [elf2] Relocate against common symbols.Michael J. Spencer2015-09-183-2/+23
| | | | llvm-svn: 248054
* Simplify the interface of PCHContainerGenerator and friendsAdrian Prantl2015-09-185-54/+31
| | | | | | | | by passing in a CompilerInstance instead of all its individual members. NFC. llvm-svn: 248053
* COFF: Parallelize Writer::writeSections().Rui Ueyama2015-09-181-2/+3
| | | | | | | | Self-hosting took 801 ms on my machine. Of which this function took 69 ms. Now it takes 37 ms. That is about 4% overall performance improvement. llvm-svn: 248052
* Relax the test to get it passing with windows paths.Rafael Espindola2015-09-181-1/+1
| | | | llvm-svn: 248051
* Analyzer: Fix a crasher in UbigraphVizIsmail Pazarbasi2015-09-182-2/+10
| | | | | | | | | | | | | | | Summary: Name `Out` refers to the parameter. It is moved into the member `Out` in ctor-init. Dereferencing null pointer will crash clang, if user passes '-analyzer-viz-egraph-ubigraph' argument. Reviewers: zaks.anna, krememek Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D12119 llvm-svn: 248050
* [elf2] Convert if/else cascade into a covered switch. NFC.Michael J. Spencer2015-09-181-8/+16
| | | | llvm-svn: 248049
* Added support for resolving symbolic links to FileSpec.Sean Callanan2015-09-183-2/+34
| | | | | | | | | | | | | | | We use the symbolic link to resolver to find the target of the LLDB shlib symlink if there is a symlink. This allows us to find shlib-relative resources even when running under the testsuite, where _lldb.so is a symlink in the Python resource directory. Also changed a comment to be slightly more clear about what resolve_path in the constructor for FileSpec means, since if we were actually using realpath() this code wouldn't have been necessary. http://reviews.llvm.org/D12984 llvm-svn: 248048
* Fix Makefile build by adding LLVMSupport to liblldbKeno Fischer2015-09-181-0/+1
| | | | | | | `llvm-mi` now depends on the regex functionality available in LLVM's support library. llvm-svn: 248047
* Reduce indentation in the TargetInfo implementations and fix upEric Christopher2015-09-181-369/+362
| | | | | | a couple of macro builtin redefines. llvm-svn: 248046
* [IndVars] Widen more comparisons for non-negative induction varsSanjoy Das2015-09-182-3/+154
| | | | | | | | | | | | | | | | | | | | Summary: If an induction variable is provably non-negative, its sign extension is equal to its zero extension. This means narrow uses like icmp slt iNarrow %indvar, %rhs can be widened into icmp slt iWide zext(%indvar), sext(%rhs) Reviewers: atrick, mcrosier, hfinkel Subscribers: hfinkel, reames, llvm-commits Differential Revision: http://reviews.llvm.org/D12745 llvm-svn: 248045
* Style fix to make it look consistent. NFC.Rui Ueyama2015-09-181-22/+22
| | | | llvm-svn: 248044
* [CMake] Refactoring and cleaning up clang symlink generation.Chris Bieneman2015-09-183-72/+13
| | | | | | | | Generation of clang symlinks now uses add_clang_symlink macro which uses add_llvm_symlink. Also the list of symlinks to generate is configurable via CLANG_LINKS_TO_CREATE. This re-lands r248015, with fixes for clang symlinks to always be generated as part of the clang and install-clang targets. llvm-svn: 248043
* Fix typo and test commitLuke Larson2015-09-181-1/+1
| | | | llvm-svn: 248042
* [Static Analyzer] General type checker based on dynamic type information.Gabor Horvath2015-09-186-271/+636
| | | | | | Differential Revision: http://reviews.llvm.org/D12973 llvm-svn: 248041
* This code never uses r_addend, so it can just use Elf_Rel.Rafael Espindola2015-09-181-4/+2
| | | | llvm-svn: 248040
* [CMake] Adding ALWAYS_GENERATE option to symlink utility functions.Chris Bieneman2015-09-181-20/+33
| | | | | | This implements the behavior required for clang symlinks which should be always generated. llvm-svn: 248039
* COFF: Parallelize ICF.Rui Ueyama2015-09-182-28/+54
| | | | | | | | | | | | | | | The LLD's ICF algorithm is highly parallelizable. This patch does that using parallel_for_each. ICF accounted for about one third of total execution time. Previously, it took 324 ms when self-hosting. Now it takes only 62 ms. Of course your mileage may vary. My machine is a beefy 24-core Xeon machine, so you may not see this much speedup. But this optimization should be effective even for 2-core machine, since I saw speedup (324 ms -> 189 ms) when setting parallelism parameter to 2. llvm-svn: 248038
* Debug Info: Use the full module name as a key when caching DIModules.Adrian Prantl2015-09-182-3/+3
| | | | | | | | | | | The signature may not have been computed at the time the module reference is generated (e.g.: in the future while emitting debug info for a clang module). Using the full module name is safe because each clang module may only have a single definition. NFC. llvm-svn: 248037
* Adds parallel work queue index to test events, stdout/stderr results support.Todd Fiala2015-09-184-47/+185
| | | | | | See http://reviews.llvm.org/D12983 for details. llvm-svn: 248036
* Handle lld not being found in PATH.Rafael Espindola2015-09-181-1/+1
| | | | llvm-svn: 248035
OpenPOWER on IntegriCloud