summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [driver] Cosmetic change to use Input instead of Inputs[0].Artem Belevich2015-05-062-14/+14
| | | | | | Differential Revision: http://reviews.llvm.org/D9506 llvm-svn: 236621
* Don't attempt DSym tests on Windows.Adrian McCarthy2015-05-061-3/+2
| | | | llvm-svn: 236620
* Added missed symbol omp_in_final into include/module files.Andrey Churbanov2015-05-066-0/+28
| | | | llvm-svn: 236619
* [SelectionDAG] Delete SelectionDAGBuilder::removeValue. NFC.Sanjoy Das2015-05-061-6/+0
| | | | | | SelectionDAGBuilder::removeValue is dead now, after rL236563. llvm-svn: 236618
* Allow 0-weight branches in BranchProbabilityInfo.Diego Novillo2015-05-065-20/+26
| | | | | | | | | | | | | | | | | | | | | | | Summary: When computing branch weights in BPI, we used to disallow branches with weight 0. This is a minor nuisance, because a branch with weight 0 is different to "don't have information". In the context of instrumentation, it may mean "never executed", in the context of sampling, it means "never or seldom executed". In allowing 0 weight branches, I ran into issues with the switch expansion code in selection DAG. It is currently hardwired to not handle branches with weight 0. To maintain the current behaviour, I changed it to use 1 when it finds 0, but perhaps the algorithm needs changes to tolerate branches with weight zero. Reviewers: hansw Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9533 llvm-svn: 236617
* ittnotify: change default notification mode to 3, which includes parallel ↵Andrey Churbanov2015-05-061-1/+1
| | | | | | regions, barriers + imbalance, loops, single regions reporting. llvm-svn: 236616
* Add missing dereferenceable_or_null gettersSanjoy Das2015-05-067-2/+50
| | | | | | | | | | | | | | | | | Summary: Add missing dereferenceable_or_null getters required for http://reviews.llvm.org/D9253 change. Separated from the D9253 review. Patch by Artur Pilipenko! Reviewers: sanjoy Reviewed By: sanjoy Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9499 llvm-svn: 236615
* Restore TestRegisterVariables failure decorator for older ClangEd Maste2015-05-061-0/+1
| | | | | | | The @expectedFailureClang decorator was removed in r236447, but it seems to be fixed only with Clang 3.5+. llvm-svn: 236614
* [X86] Disable loop unrolling in loop vectorization pass when VF is 1.Wei Mi2015-05-0616-19/+64
| | | | | | | | | | | | | The patch disabled unrolling in loop vectorization pass when VF==1 on x86 architecture, by setting MaxInterleaveFactor to 1. Unrolling in loop vectorization pass may introduce the cost of overflow check, memory boundary check and extra prologue/epilogue code when regular unroller will unroll the loop another time. Disable it when VF==1 remove the unnecessary cost on x86. The same can be done for other platforms after verifying interleaving/memory bound checking to be not perf critical on those platforms. Differential Revision: http://reviews.llvm.org/D9515 llvm-svn: 236613
* Add ChangeTo* to MachineOperand for symbolsMatt Arsenault2015-05-062-0/+28
| | | | llvm-svn: 236612
* Add bitcode test to verify functions can be materialized out of order.Derek Schuff2015-05-061-0/+64
| | | | | | | | | | | | | | | | | | Summary: Adds test to check that when getLazyBitcodeModule is called: 1) Functions are not materailzed by default. 2) Only the requested function gets materialized (if no block addresses are used). Reviewers: jvoung, rafael Reviewed By: rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8907 llvm-svn: 236611
* Readd the regression test from r236584. Calling convention fixed to linux.Pawel Bylica2015-05-061-0/+51
| | | | llvm-svn: 236610
* [ARM] Fast-Isel was incorrectly selecting <2 x double> adds.Pete Cooper2015-05-062-0/+37
| | | | | | | | | | With neon enabled, we reach SelectBinaryFPOp and are able to get registers for a <2 x double> add. However, we shouldn't actually attempt arithmetic on it as ARMIselLowering says "v2f64 is legal so that QR subregs can be extracted as f64 elements, but neither Neon nor VFP support any arithmetic operations on it." This commit disables SelectBinaryFPOp for any vector types. There's already a FIXME to try handle neon. Doing so would require fixing this conditional which isn't safe for vectors 'VT == MVT::f64 || VT == MVT::i64' llvm-svn: 236609
* Fix implementation of normalize builtinTom Stellard2015-05-062-6/+152
| | | | | | | The new implementation was ported from the AMD builtin library and has been tested with piglit, OpenCV, and the ocl conformance tests. llvm-svn: 236608
* Simplify FuncUnwinders::GetEHFrameAugmentedUnwindPlanPavel Labath2015-05-062-29/+33
| | | | | | | | | | | | | | | | | Summary: GetEHFrameAugmentedUnwindPlan duplicated the work of GetEHFrameUnwindPlan in getting the original plan from DWARF CFI. This changes the function to call GetEHFrameUnwindPlan instead of doing all the work itself. A copy constructor is added to UnwindPlan to enable plan copying. Test Plan: No regressions on linux test suite. Reviewers: jasonmolenda, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9369 llvm-svn: 236607
* [PPC64LE] Adjust vector splats during VSX swap optimizationBill Schmidt2015-05-062-7/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | The initial code drop for VSX swap optimization permitted the optimization only when all operations in a web of related computation are lane-insensitive. For some lane-sensitive operations, we can still permit the optimization provided that we make adjustments to those operations. This patch adds special handling for vector splats so that their presence doesn't kill the optimization. Vector splats are lane-sensitive since they identify by number a vector element to be used as the source of a splat. When swap optimizations take place, the desired vector element will move to the opposite doubleword of the quadword vector. We thus replace the index I by (I + N/2) % N, where N is the number of elements in the vector. A new test case is added to test that swap optimization succeeds when vector splats are present, and that the proper input element is used as the source of the splat. An ancillary change removes SH_BUILDVEC as one of the kinds of special handling that may be required by VSX swap optimization. From experience with GCC, I had expected to need some modifications for vector build operations, but I did not find that to be the case. llvm-svn: 236606
* [AArch64] Advertise that the __sync_*_compare_and_swap_1/2/4/8 builtins workReid Kleckner2015-05-061-0/+6
| | | | | | | Fixes PR23428, where std::thread in libstdc++ would go haywire without these defines. llvm-svn: 236605
* clang-format: Merge labels and subsequent semicolons.Daniel Jasper2015-05-063-1/+13
| | | | | | | | | | | E.g.: default:; This can be used to get around restrictions as to what can follow a label. It fixes llvm.org/PR19648. llvm-svn: 236604
* clang-format: Allow ternary expressions inside template parameters ifDaniel Jasper2015-05-062-2/+9
| | | | | | | | the template parameters aren't inside an expression context. This fixes llvm.org/PR23270. llvm-svn: 236603
* clang-format: Consider operator precedence as penalty when breakingDaniel Jasper2015-05-062-0/+7
| | | | | | | | before operators. This fixes llvm.org/23382. llvm-svn: 236602
* Reformat.NAKAMURA Takumi2015-05-063-7/+6
| | | | llvm-svn: 236601
* Revert r236546, "propagate IR-level fast-math-flags to DAG nodes (NFC)"NAKAMURA Takumi2015-05-067-109/+99
| | | | | | It caused undefined behavior. llvm-svn: 236600
* clang-format: Accept slightly more record declarations.Daniel Jasper2015-05-062-28/+32
| | | | | | This fixes llvm.org/PR23397. llvm-svn: 236599
* clang-format: Fix bad wrapping of ObjC method exprs.Daniel Jasper2015-05-062-3/+10
| | | | | | | | | | | | | | | | | Before: [aaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaa: aaaaaaaa aaa:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa]; After: [aaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaa:aaaaaaaa aaa:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa]; Note that this might now violate the column limit and we probably need an alternative way of indenting these then. However, that is still strictly better than the messy formatting that clang-format did before. llvm-svn: 236598
* clang-format: Properly indent method calls without inputs.Daniel Jasper2015-05-062-2/+6
| | | | | | | | | | | | Before: [aaaaaaaaaaa aaaaaaa]; After: [aaaaaaaaaaa aaaaaaa]; llvm-svn: 236597
* [cmake] Remove two unused include pathsTobias Grosser2015-05-061-5/+0
| | | | | | | These include paths are leftovers from times when we used GMP or an external isl installation. They are not longer needed. llvm-svn: 236596
* [NativeProcessLinux] Remove the post-stop lambdaPavel Labath2015-05-062-132/+55
| | | | | | | | | | | | | | | | | | | | | | | Summary: The lambda was always calling SetState(eStateStopped) with small variations, so I have inlined the code. Given that we don't have the TSC anymore, I believe we don't need to be so generic. The only major change here is the way we choose a stop reason thread when we're interrupting a program on client request. Previously, we were setting a null stop reason for all threads and then fixing up the reason for one victim thread in the lambda. Now, I make sure the stop reason is set for the victim thread correctly in the first place. I also take the opportunity to rename CallAfter* functions into something more appropriate. Test Plan: All tests continue to pass. Reviewers: chaoren, vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9321 llvm-svn: 236595
* Remove deprecated version of reformat.Manuel Klimek2015-05-062-17/+0
| | | | llvm-svn: 236594
* Replace two naked references of 'std::' with the macro '_VSTD::'. No ↵Marshall Clow2015-05-061-2/+2
| | | | | | functionality change. llvm-svn: 236593
* clang-format: Don't allow -i when reading from stdin.Daniel Jasper2015-05-061-1/+3
| | | | llvm-svn: 236592
* Remove all computation of structural errors in clang-format's line parser.Manuel Klimek2015-05-063-28/+10
| | | | | | We were already ignoring those already. llvm-svn: 236591
* [ARM] generate VMAXNM/VMINNM for a compare followed by a select, in safe ↵Artyom Skrobov2015-05-062-25/+385
| | | | | | math mode too llvm-svn: 236590
* clang-format: Fix another assertion discovered by the fuzzer.Daniel Jasper2015-05-062-14/+19
| | | | | | | | | In the process, fix an old todo that I don't really know how to write tests for. The problem is that Clang's lexer creates very strange token sequences for these. However, the new approach seems generally better and easier to read so I am submitting it nonetheless. llvm-svn: 236589
* Liboffload: Patch for MPSS > 3.4.x (provided by Tim Cramer)Andrey Churbanov2015-05-062-5/+26
| | | | llvm-svn: 236588
* [NativeProcessLinux] fold ThreadStateCoordinator into NPLPavel Labath2015-05-0612-1665/+849
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Since all TSC operations are now executed synchronously, TSC has become a little more than a messenger between different parts of NativeProcessLinux. Therefore, the reason for its existance has disappeared. This commit moves the contents of the TSC into the NPL class. This will enable us to remove all the boilerplate code in NPL (as it stands now, this is most of the class), which I plan to do in subsequent commits. Unfortunately, this also means we will lose the unit tests for the TSC. However, since the size of the TSC has diminished, the unit tests were not testing much at this point anyway, so it's not a big loss. No functional change. Test Plan: All tests continue to pass. Reviewers: vharron, chaoren Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9296 llvm-svn: 236587
* Revert regression test from r236584.Pawel Bylica2015-05-061-51/+0
| | | | | | Temporary remove a regression test added in r236584. It fails on Windows. llvm-svn: 236586
* Fix libunwind to build on FreeBSDViktor Kutuzov2015-05-061-2/+9
| | | | | | Differential Revision: http://reviews.llvm.org/D9272 llvm-svn: 236585
* SelectionDAG: Handle out-of-bounds index in extract vector elementPawel Bylica2015-05-063-3/+82
| | | | | | | | | | | | | | | | | | Summary: This patch correctly handles undef case of EXTRACT_VECTOR_ELT node where the element index is constant and not less than vector size. Test Plan: CodeGen for X86 test included. Also one incorrect regression test fixed. Reviewers: qcolombet, chandlerc, hfinkel Reviewed By: hfinkel Subscribers: hfinkel, llvm-commits Differential Revision: http://reviews.llvm.org/D9250 llvm-svn: 236584
* Add iterators for the ArrayInfo objects of the scopTobias Grosser2015-05-062-2/+17
| | | | | | | | | | | This patch also changes the implementation of the ArrayInfoMap to a MapVector which will ensure that iterating over the list of ArrayInfo objects gives predictable results. The single loop that currently enumerates the ArrayInfo objects only frees the individual objectes, hence a possibly changing iteration order does not affect the outcome. The added robustness is for future users of this interface. llvm-svn: 236583
* [Msan] Fix the mmap_below_shadow.cc test to pass on FreeBSDViktor Kutuzov2015-05-061-1/+4
| | | | | | Differential Revision: http://reviews.llvm.org/D9462 llvm-svn: 236582
* [Msan] Fix the ioctl_custom.cc test to pass on FreeBSDViktor Kutuzov2015-05-061-14/+6
| | | | | | Differential Revision: http://reviews.llvm.org/D9459 llvm-svn: 236581
* [Msan] Fix the initgroups.cc test to build on FreeBSDViktor Kutuzov2015-05-061-0/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D9458 llvm-svn: 236580
* [Msan] Fix the ifaddrs.cc test to build and pass on FreeBSDViktor Kutuzov2015-05-062-1/+6
| | | | | | Differential Revision: http://reviews.llvm.org/D9457 llvm-svn: 236579
* clang-format: Prevent assertion discovered by fuzzer.Daniel Jasper2015-05-062-2/+12
| | | | llvm-svn: 236578
* clang-format: Prevent exponential runtime in token annotator.Daniel Jasper2015-05-062-1/+12
| | | | llvm-svn: 236577
* [ThreadStateCoordinator] Remove Event classesPavel Labath2015-05-062-614/+399
| | | | | | | | | | | | | | | | | Summary: This is a cleanup patch for thread state coordinator. After making processing of all events synchronous, there is no need to have a a separate class for each event. I have moved back processing of all events back into the TSC class. No functional change. Test Plan: All tests continue to pass. Reviewers: chaoren, vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9254 llvm-svn: 236576
* [DomTree] verifyDomTree to unconditionally perform DT verificationAdam Nemet2015-05-062-7/+6
| | | | | | | | | | | | I folded the check for the flag -verify-dom-info into the only caller where I think it is supposed to be checked: verifyAnalysis. (The idea of the flag is to enable this expensive verification in verifyPreservedAnalysis.) I'm assuming that when manually scheduling the verification pass with -passes=verify<domtree>, we do want to perform the verification. llvm-svn: 236575
* [OPENMP] Fixed messages about predetermined DSA for loop control variables.Alexey Bataev2015-05-062-4/+11
| | | | llvm-svn: 236574
* clang-format: Fix bug in multiline comment wrapping.Daniel Jasper2015-05-062-6/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Splitting: /** * multiline block comment * */ Before: /** * multiline block *comment * */ After: /** * multiline block * comment * */ The reason was that the empty line inside the comment (with just the "*") was confusing the comment breaking logic. llvm-svn: 236573
* [ASan][MIPS] Fix null_deref.cc test on MIPS64Sagar Thakur2015-05-061-1/+1
| | | | | | | | | | Symbol for pc used in ucontext->uc_mcontext was wrong. Reviewers: dsanders, kcc, samsonov Subscribers: llvm-commits, mohit.bhakkad, jaydeep Differential Revision: http://reviews.llvm.org/D9246 llvm-svn: 236572
OpenPOWER on IntegriCloud