summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* First step in getting LLDB ready to support multiple different type systems.Greg Clayton2015-08-1145-6724/+7878
| | | | | | | | This is the work done by Ryan Brown from http://reviews.llvm.org/D8712 that makes a TypeSystem class and abstracts types to be able to use a type system. All tests pass on MacOSX and passed on linux the last time this was submitted. llvm-svn: 244679
* Make DW_AT_[MIPS_]linkage_name optional, and off by default for SCE.Paul Robinson2015-08-1117-25/+116
| | | | | | | | | | | | | | Mangled "linkage" names can be huge, and if the debugger (or other tools) have no use for them, the size savings can be very impressive (on the order of 40%). Add one test for controlling behavior, and modify a number of tests to either stop using linkage names, or make llc emit them (so these tests will still run when the default triple is for PS4). Differential Revision: http://reviews.llvm.org/D11374 llvm-svn: 244678
* Tidy statistics collectionJonathan Peyton2015-08-1112-131/+233
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes some statistics counters and timers which were not used, adds new counters and timers for some language features that were not monitored previously and separates the counters and timers into those which are of interest for investigating user code and those which are only of interest to the developer of the runtime itself. The runtime developer statistics are now ony collected if the additional #define KMP_DEVELOPER_STATS is set. Additional user statistics which are now collected include: * Count of nested parallelism (omp parallel inside a parallel region) * Count of omp distribute occurrences * Count of omp teams occurrences * Counts of task related statistics (taskyield, task execution, task cancellation, task steal) * Values passed to omp_set_numtheads * Time spent in omp single and omp master None of this affects code compiled without stats gathering enabled, which is the normal library build mode. This also fixes the CMake build by linking to the standard c++ library when building the stats library as it is a requirement. The normal library does not have this requirement and its link phase is left alone. Differential Revision: http://reviews.llvm.org/D11759 llvm-svn: 244677
* Fix PR24354.Sanjoy Das2015-08-112-3/+35
| | | | | | | | | | `InstCombiner::OptimizeOverflowCheck` was asserting an invariant (operands to binary operations are ordered by decreasing complexity) that wasn't really an invariant. Fix this by instead having `InstCombiner::OptimizeOverflowCheck` establish the invariant if it does not hold. llvm-svn: 244676
* [MIPS] Use arch values for lock-free atomic operationsPetar Jovanovic2015-08-111-2/+1
| | | | | | | | | Let NaClMips32ELTargetInfo inherit arch values for maximum width lock-free atomic operations. Differential Revision: http://reviews.llvm.org/D11949 llvm-svn: 244675
* [lit] Don't disable the lit progress bar by default with MSVCReid Kleckner2015-08-111-1/+1
| | | | | | | | | | | Only disable the progress bar when we're generating VS project files, like we do for XCode. This makes lit use the simple, non-curses progress bar that looks like this with: Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. Testing Time: 5.87s llvm-svn: 244674
* [analyzer] Incorrect env variable replaced.Anton Yartsev2015-08-111-1/+1
| | | | llvm-svn: 244673
* don't repeat function names in comments; NFCSanjay Patel2015-08-111-39/+34
| | | | llvm-svn: 244672
* Add an assert to catch lexical decl deserialization bugs.Richard Smith2015-08-111-0/+1
| | | | llvm-svn: 244671
* Fixing a few C++0x comments to be C++11; NFC.Aaron Ballman2015-08-111-3/+3
| | | | llvm-svn: 244670
* Add missing documentation for conversionDecl; NFC.Aaron Ballman2015-08-111-0/+12
| | | | llvm-svn: 244669
* fix 80-cols; NFCSanjay Patel2015-08-111-19/+22
| | | | llvm-svn: 244668
* NFC SelectionDAGDumper: fix typoJF Bastien2015-08-111-1/+1
| | | | | | | | Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11959 llvm-svn: 244667
* Add a polymorphic AST matcher for testing whether a constructor or a ↵Aaron Ballman2015-08-114-0/+62
| | | | | | conversion declaration is marked as explicit or not. llvm-svn: 244666
* WebAssembly: implement comparison.JF Bastien2015-08-118-25/+348
| | | | | | | | | | | | Some of the FP comparisons (ueq, one, ult, ule, ugt, uge) are currently broken, I'll fix them in a follow-up. Reviewers: sunfish Subscribers: llvm-commits, jfb Differential Revision: http://reviews.llvm.org/D11924 llvm-svn: 244665
* Don't crash if the file we want to touch doesn't exist.Greg Clayton2015-08-111-2/+1
| | | | llvm-svn: 244663
* Add an AST matcher to match member intializers of a CXXCtorInitializer.Aaron Ballman2015-08-114-0/+44
| | | | llvm-svn: 244662
* [libFuzzer] more trophiesKostya Serebryany2015-08-111-0/+2
| | | | llvm-svn: 244661
* clang-format: Make SpaceBeforeParens work with overloaded operators.Daniel Jasper2015-08-112-1/+5
| | | | | | Patch by Jon Chesterfield, thank you! llvm-svn: 244660
* [cmake] Shorten FreeBSD and DragonFly checks as suggested post-commitReid Kleckner2015-08-111-3/+3
| | | | | | NFC llvm-svn: 244659
* Revert the diagnostic improvements in r244602 as they introduced a ↵David Blaikie2015-08-111-9/+1
| | | | | | | | | | problematic dependency Seems we had some internal uses that include ClangTidyTest.h and weren't ready for a gtest dependency. Reverting to give Manuel some time to look into it. llvm-svn: 244658
* [x86] enable machine combiner reassociations for 128-bit vector ↵Sanjay Patel2015-08-113-4/+52
| | | | | | single/double multiplies llvm-svn: 244657
* [LowerSwitch] Skip dead blocks for processSwitchInst()Chen Li2015-08-111-4/+10
| | | | | | | | | | | | Summary: This patch adds check for dead blocks and skip them for processSwitchInst(). This will help reduce compilation time. Reviewers: reames, hans Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11953 llvm-svn: 244656
* WebAssembly: implement WebAssemblyTargetLowering::getTargetNodeNameJF Bastien2015-08-112-1/+13
| | | | | | | | | | Summary: Implementation is the same as in AArch64. Subscribers: aemerson, jfb, llvm-commits, sunfish Differential Revision: http://reviews.llvm.org/D11956 llvm-svn: 244655
* Fix mismatched sign comparisonReid Kleckner2015-08-111-1/+1
| | | | llvm-svn: 244653
* fix minsize detection: minsize attribute implies optimizing for sizeSanjay Patel2015-08-112-2/+16
| | | | | | Also, add a test for optsize because this was not part of any existing regression test. llvm-svn: 244651
* [MSVC Compatibility] Classify ext_ms_cast_fn_obj as DefaultErrorDavid Majnemer2015-08-112-2/+2
| | | | | | | | This non-conforming extension was introduced to make it possible for us to correctly compile <atomic> in VS 2013 and 2015. Let's limit its impact to system headers to encourage portable code. llvm-svn: 244650
* SelectionDAG: Prefer to combine multiplication with less uses for fmaJingyue Wu2015-08-112-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: For example: s6 = s0*s5; s2 = s6*s6 + s6; ... s4 = s6*s3; We notice that it is possible for s2 is folded to fma (s0, s5, fmul (s6 s6)). This only happens when Aggressive is true, otherwise hasOneUse() check already prevents from folding the multiplication with more uses. Test Plan: test/CodeGen/NVPTX/fma-assoc.ll Patch by Xuetian Weng Reviewers: hfinkel, apazos, jingyue, ohsallen, arsenm Subscribers: arsenm, jholewinski, llvm-commits Differential Revision: http://reviews.llvm.org/D11855 llvm-svn: 244649
* Revert "[cmake] Add helper for finding potentially external projects"Reid Kleckner2015-08-111-17/+0
| | | | | | | | | | This reverts commit r244633. We aren't going to be able to use it because the compiler-rt build can be built standalone without an LLVM source dir *or* an installed copy of LLVM. llvm-svn: 244648
* Revert the rest of r244634, since it breaks the standalone buildReid Kleckner2015-08-111-1/+1
| | | | | | | compiler-rt can apparently be built without an installed copy of LLVM, so we can't call its cmake code. llvm-svn: 244647
* [ubsan][mips] Revise r243384 to avoid special casing big-endian mips.Daniel Sanders2015-08-111-4/+5
| | | | | | | Account for the case when uptr is 32-bit instead of trying to fix this case using the little endian path. llvm-svn: 244646
* Include sanitizer_posix.h to try to fix the mac buildReid Kleckner2015-08-111-0/+1
| | | | | | Linux must pick it up transitively. llvm-svn: 244645
* Fix UB in MCJIT test cases that relied on union type punningDavid Blaikie2015-08-111-52/+30
| | | | | | | | Reviewers: lhames, aaron.ballman Differential Revision: http://reviews.llvm.org/D11779 llvm-svn: 244644
* Re-apply "cmake: Make CMAKE_BUILD_TYPE check case-insensitive"Justin Bogner2015-08-111-5/+5
| | | | | | | This re-applies r244516 (effectively reverting r244516) without losing the check that caused failures for VS. llvm-svn: 244643
* [LowerSwitch] Fix a bug when LowerSwitch deletes the default blockChen Li2015-08-112-5/+37
| | | | | | | | | | | | Summary: LowerSwitch crashed with the attached test case after deleting the default block. This happened because the current implementation of deleting dead blocks is wrong. After the default block being deleted, it contains no instruction or terminator, and it should no be traversed anymore. However, since the iterator is advanced before processSwitchInst() function is executed, the block advanced to could be deleted inside processSwitchInst(). The deleted block would then be visited next and crash dyn_cast<SwitchInst>(Cur->getTerminator()) because Cur->getTerminator() returns a nullptr. This patch fixes this problem by recording dead default blocks into a list, and delete them after all processSwitchInst() has been done. It still possible to visit dead default blocks and waste time process them. But it is a compile time issue, and I plan to have another patch to add support to skip dead blocks. Reviewers: kariddi, resistor, hans, reames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11852 llvm-svn: 244642
* Use llvm::make_unique to fix the MSVC build.Rafael Espindola2015-08-111-1/+1
| | | | llvm-svn: 244641
* Add support for weak undefined symbols.Rafael Espindola2015-08-114-2/+17
| | | | llvm-svn: 244640
* Remove unused templating.Rafael Espindola2015-08-113-23/+6
| | | | llvm-svn: 244639
* [windows] Use lld-link instead of lld-link2, the latter no longer existsReid Kleckner2015-08-111-1/+1
| | | | | | | The test passed for me locally because I had a stale copy of lld-link2.exe. llvm-svn: 244638
* Add SmallString test trying to exercise the realloc() code pathYaron Keren2015-08-111-0/+11
| | | | | | by allocating a small size (will go through malloc) and then large size. llvm-svn: 244637
* Add support for weak symbols.Rafael Espindola2015-08-118-11/+54
| | | | llvm-svn: 244636
* Revert part of the last cmake change, it broke configuring with libcxx on ↵Reid Kleckner2015-08-111-1/+1
| | | | | | Linux for me llvm-svn: 244635
* [cmake] Handle external source for lld and libcxxReid Kleckner2015-08-111-2/+2
| | | | | | As requested in post-commit review of r244549. llvm-svn: 244634
* [cmake] Add helper for finding potentially external projectsReid Kleckner2015-08-111-0/+17
| | | | | | | I plan to use this from compiler-rt, but it's useful for any LLVM project that depends on more than just LLVM. llvm-svn: 244633
* Use real values for DefindeFirst and DefinedLast.Rafael Espindola2015-08-112-6/+5
| | | | | | With this clang notices that switches are fully covered. llvm-svn: 244632
* fix minsize detection: minsize attribute implies optimizing for sizeSanjay Patel2015-08-112-17/+7
| | | | llvm-svn: 244631
* add missing tests for powi expansion with size optimizationsSanjay Patel2015-08-111-0/+27
| | | | | | The minsize test will be fixed in the next commit. llvm-svn: 244630
* [windows] Remove CHECK for strdup symbol that comes from the CRTReid Kleckner2015-08-111-2/+3
| | | | | | llvm-symbolizer isn't symbolizing it for some reason. I'll investigate. llvm-svn: 244629
* Delete unused typedef.Rafael Espindola2015-08-111-2/+0
| | | | llvm-svn: 244628
* fixed to use FileCheckSanjay Patel2015-08-111-5/+15
| | | | llvm-svn: 244627
OpenPOWER on IntegriCloud