summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Allow pseudo-destructor calls on forward-declared Objective-C class pointers.John McCall2015-12-142-1/+29
| | | | | | rdar://18522255 llvm-svn: 255531
* Remove the successor probabilities normalization in tail duplication pass.Cong Hou2015-12-141-1/+0
| | | | | | | | | | | | The normalization may cause assertion failures on SystemZ and some out-of-tree tests. The root cause is that unknown probabilities are materialized into known ones by calling getSuccProbability(), which is then used to add another successor to the same MBB which results in mixed known and unknown probabilities. But currently those mixed probabilities cannot be normalized. I will compose another patch to fix the root issue. llvm-svn: 255530
* [MergeFunctions] Use II instead of CI for InvokeInst; NFCSanjoy Das2015-12-142-5/+35
| | | | | | Using `CI` is slightly misleading. llvm-svn: 255529
* Teach MergeFunctions about operand bundlesSanjoy Das2015-12-142-0/+65
| | | | llvm-svn: 255528
* Teach haveSameSpecialState about operand bundlesSanjoy Das2015-12-143-3/+41
| | | | llvm-svn: 255527
* Add "const" to function arguments in DFAPacketizerKrzysztof Parzyszek2015-12-143-13/+13
| | | | llvm-svn: 255526
* Make debug info specification use categories system.Zachary Turner2015-12-148-107/+42
| | | | | | | Reviewed By: Tamas Berghammer, Pavel Labath Differential Revision: http://reviews.llvm.org/D15428 llvm-svn: 255525
* clang-cl: make /Wall turn on both -Wall and -Wextra (PR25563)Hans Wennborg2015-12-142-2/+2
| | | | | | | | The documentation suggests /Wall should really turn on -Wextra and any other warnings that are not enabled by default. That would correspond to Clang's -Weverything, but is probably not what users want. llvm-svn: 255524
* [PGO] Value profiling text format reader/writer supportXinliang David Li2015-12-148-1/+284
| | | | | | | | | This patch adds the missing functionality in parsable text format support for value profiling. Differential Revision: http://reviews.llvm.org/D15212 llvm-svn: 255523
* [IR] Remove terminatepadDavid Majnemer2015-12-1441-771/+110
| | | | | | | | | | | | | It turns out that terminatepad gives little benefit over a cleanuppad which calls the termination function. This is not sufficient to implement fully generic filters but MSVC doesn't support them which makes terminatepad a little over-designed. Depends on D15478. Differential Revision: http://reviews.llvm.org/D15479 llvm-svn: 255522
* [MS ABI] Don't rely on terminatepadDavid Majnemer2015-12-143-10/+11
| | | | | | | | | | | | | | | We'd like to remove support for terminatepad from LLVM. To do this, we need to move Clang off of it first. The intent behind terminatepad was to carefully model exception specifications for the MSVC personality. However, we don't support exception specifications for the MSVC personality and neither does MSVC. Instead, MSVC supports all-or-nothing exception specifications. We can model this limited usage using cleanuppads which call std::terminate. Differential Revision: http://reviews.llvm.org/D15478 llvm-svn: 255521
* FastISel needs to remove dead code when it bails out.Paul Robinson2015-12-143-2/+182
| | | | | | | | | | | | | | | When FastISel fails to translate an instruction it hands off code generation to SelectionDAG. Before it does so, it may have generated local value instructions to feed phi nodes in successor blocks. These instructions will then be generated again by SelectionDAG, causing duplication and less efficient code, including extra spill instructions. Patch by Wolfgang Pieb! Differential Revision: http://reviews.llvm.org/D11768 llvm-svn: 255520
* K-Ballo pointed out a mistake in the add_lvalue_ref tests I checked in; now ↵Marshall Clow2015-12-141-7/+7
| | | | | | more of them are passing. Thanks llvm-svn: 255519
* Missed this on the previous (255517) commitMarshall Clow2015-12-141-0/+49
| | | | llvm-svn: 255518
* Fix a corner case that involved calling rethrow_if_nested with a type that ↵Marshall Clow2015-12-143-53/+10
| | | | | | had a deleted operator&. Added a test to catch this as well. Thanks to Ville for the heads-up. llvm-svn: 255517
* [Power PC] llvm soft float support for ppc32Petar Jovanovic2015-12-147-8/+82
| | | | | | | | | | | This is the second in a set of patches for soft float support for ppc32, it enables soft float operations. Patch by Strahinja Petrovic. Differential Revision: http://reviews.llvm.org/D13700 llvm-svn: 255516
* [Power PC] add soft float support for ppc32Petar Jovanovic2015-12-145-11/+144
| | | | | | | | | | | | This patch enables soft float support for ppc32 architecture and fixes the ABI for variadic functions. This is the first in a set of patches for soft float support in LLVM. Patch by Strahinja Petrovic. Differential Revision: http://reviews.llvm.org/D13351 llvm-svn: 255515
* Fix broken visual studio builds by disabling KMP_USE_TSX.Jonathan Peyton2015-12-141-1/+2
| | | | | | Visual studio can't handle the asm extension in the KMP_USE_TSX code sections. llvm-svn: 255514
* Add add_lvalue_ref tests for a few function types, with a note why not moreMarshall Clow2015-12-141-0/+36
| | | | llvm-svn: 255513
* AMDGPU: Use generic bitreverse intrinsicMatt Arsenault2015-12-148-37/+143
| | | | | | Also fix bug in vector legalization for bitreverse. llvm-svn: 255512
* getParent() ^ 3 == getModule() ; NFCISanjay Patel2015-12-1416-40/+28
| | | | llvm-svn: 255511
* [Hexagon] Xfail two tests that fail due to over-aligning arraysKrzysztof Parzyszek2015-12-142-0/+9
| | | | llvm-svn: 255510
* Remove dead function AArch64TargetLowering::getFunctionAlignment. NFC.Geoff Berry2015-12-142-8/+0
| | | | | | | | | | Reviewers: t.p.northover, jmolloy, mcrosier Subscribers: aemerson, rengolin, llvm-commits Differential Revision: http://reviews.llvm.org/D15458 llvm-svn: 255509
* AMDGPU: Fix splitting vector loads with existing offsetsMatt Arsenault2015-12-142-9/+122
| | | | | | | If the original MMO had an offset, it was dropped. Also use the correct alignment after adding the new offset. llvm-svn: 255508
* [TSAN, PPC64] Fix obvious typo of supported virtual memory sizesBill Schmidt2015-12-141-1/+1
| | | | llvm-svn: 255507
* BlockGenerator: Do not use fast-path for external constantsTobias Grosser2015-12-141-3/+6
| | | | | | | This change should not change the behavior of Polly today, but it allows external constants to be remapped e.g. when targetting multiple LLVM modules. llvm-svn: 255506
* BlockGenerator: Drop unneeded const_castsTobias Grosser2015-12-141-3/+3
| | | | llvm-svn: 255505
* [InstCombine] fold trunc ([lshr] (bitcast vector) ) --> extractelement (PR25543)Sanjay Patel2015-12-142-66/+54
| | | | | | | | | | | | | | | | | | | | | | | This is a fix for PR25543: https://llvm.org/bugs/show_bug.cgi?id=25543 The idea is to take the existing fold of: bitcast ( trunc ( lshr ( bitcast X))) --> extractelement (bitcast X) ( http://reviews.llvm.org/rL112232 ) And break it into less specific transforms so we'll catch more cases such as the example in the bug report: bitcast ( trunc ( lshr ( bitcast X))) --> bitcast ( extractelement (bitcast X)) --> extractelement (bitcast X) Enabling patches for this change: http://reviews.llvm.org/rL255399 (combine bitcasts) http://reviews.llvm.org/rL255433 (canonicalize extractelement(bitcast X)) Differential Revision: http://reviews.llvm.org/D15392 llvm-svn: 255504
* Revert "Always treat scalar writes as MUST_WRITEs"Tobias Grosser2015-12-146-16/+24
| | | | | | | | | | | | | | | | | | | This reverts commit r255471. Johannes raised in the post-commit review of r255471 the concern that PHI writes in non-affine regions with two exiting blocks are not really MUST_WRITE, but we just know that at least one out of the set of all possible PHI writes will be executed. Modeling all PHI nodes as MUST_WRITEs is probably save, but adding the needed documentation for such a special case is probably not worth the effort. Michael will be proposing a new patch that ensures only a single PHI_WRITE is created for non-affine regions, which - besides other benefits - should also allow us to use a single well-defined MUST_WRITE for such PHI writes. (This is not a full revert, but the condition and documentation have been slightly extended) llvm-svn: 255503
* [Hexagon] Update default paths and argumentsKrzysztof Parzyszek2015-12-1416-1326/+679
| | | | | | | | | - Removed support for hexagonv3 and earlier. - Added handling of hexagonv55 and hexagonv60. - Added handling of target features (hvx, hvx-double). - Updated paths to reflect current directory layout. llvm-svn: 255502
* [Hexagon] Subtarget features/default CPU correctionsKrzysztof Parzyszek2015-12-146-15/+22
| | | | llvm-svn: 255501
* Add unit test for r255473Michael Kruse2015-12-141-0/+51
| | | | | | | Check that memory accesses in non-affine regions that are always executed are MUST_WRITE. llvm-svn: 255500
* Add failure paths to a few JSONNumber membersOmair Javaid2015-12-142-2/+6
| | | | | | Differential revision: http://reviews.llvm.org/D15355 llvm-svn: 255499
* Add parse and sema of OpenMP distribute directive with all clauses except ↵Carlo Bertolli2015-12-1429-23/+1457
| | | | | | dist_schedule llvm-svn: 255498
* [PPC] Early exit loop. NFC.Chad Rosier2015-12-141-1/+4
| | | | llvm-svn: 255497
* [compiler-rt] [msan] Variadic support for AArch64Adhemerval Zanella2015-12-142-4/+1
| | | | | | | | | Now with variadic support for msan on aarch6 there is no need for XFAIL signal_stress_test anymore. Also to garantee aligned stores for the FP/SIMD arguments enforce the '__msan_va_arg_tls' alignment to sizeof the SIMD register (16). llvm-svn: 255496
* [sanitizer] [msan] VarArgHelper for AArch64Adhemerval Zanella2015-12-142-0/+314
| | | | | | | | This patch add support for variadic argument for AArch64. All the MSAN unit tests are not passing as well the signal_stress_test (currently set as XFAIl for aarch64). llvm-svn: 255495
* [tsan] Update dispatch_group support to avoid using a disposed group objectKuba Brecka2015-12-142-0/+62
| | | | | | | | | | We're using the dispatch group itself to synchronize (to call Release() and Acquire() on it), but in dispatch group notifications, the group can already be disposed/deallocated. This causes a later assertion failure at `DCHECK_EQ(*meta, 0);` in `MetaMap::AllocBlock` when the same memory is reused (note that the failure only happens in debug builds). Fixing this by retaining the group and releasing it in the notification. Adding a stress test case that reproduces this. Differential Revision: http://reviews.llvm.org/D15380 llvm-svn: 255494
* Make test categories composablePavel Labath2015-12-143-18/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously the add_test_categories would simply overwrite the current set of categories for a method. This change makes the decorator truly "add" categories, by extending the current set of categories instead of replacing it. To do this, I have: - replaced the getCategories() property on a method (which was itself a method), with a simple list property "categories". This makes add_test_categories easier to implement, and test categories isn't something which should change between calls anyway. - rewritten the getCategoriesForTest function to merge method categories with the categories of the test case. Previously, it would just use the method categories if they were present. I have also greatly simplified this method. Originally, it would use a lot of introspection to enable it being called on various types of objects. Based on my tests, it was only ever being called on a test case. The new function uses much less introspection then the preivous one, so we should easily catch any stray uses, if there are any, as they will generate exceptions now. Reviewers: zturner, tfiala, tberghammer Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15451 llvm-svn: 255493
* Extend XFAIL on TestNamespaceLookup on linuxPavel Labath2015-12-141-1/+1
| | | | | | one of the tests seems to (occasionally) fail with clang as well. llvm-svn: 255492
* [compiler-rt] [safestack] Silent overflow.c test on aarch64Adhemerval Zanella2015-12-142-0/+7
| | | | | | | | | | | | The safestack overflow.c test is currently failing on an aarch64 buildbot with a segfault, but it is currently passing on other configuration. This patch silent the issue for now on aarch64 by setting to all supported architectures the 'stable-runtime' configure and set the test to requires it. llvm-svn: 255491
* XFAIL TestNamespaceLookup for linuxPavel Labath2015-12-141-0/+4
| | | | llvm-svn: 255490
* Don't create unnecessary PHIsJames Molloy2015-12-143-4/+205
| | | | | | | | | | | | In conditional store merging, we were creating PHIs when we didn't need to. If the value to be predicated isn't defined in the block we're predicating, then it doesn't need a PHI at all (because we only deal with triangles and diamonds, any value not in the predicated BB must dominate the predicated BB). This fixes a large code size increase in some benchmarks in a popular embedded benchmark suite. llvm-svn: 255489
* [LLDB][MIPS] Mark TestConcurrentEvents.py expected failure, as MIPS atomic ↵Mohit K. Bhakkad2015-12-141-0/+1
| | | | | | | | | | sequences are yet to be supported in LLDB Reviewers: jaydeep. Subscribers: lldb-commits. Differential Revision: http://reviews.llvm.org/D15488 llvm-svn: 255488
* [OPENMP] Fix debug info for 'atomic' construct.Alexey Bataev2015-12-142-5/+6
| | | | | | Debug info for statement under 'atomic' construct must point exactly to that statement, not the directive itself. llvm-svn: 255487
* clang-format: Add test for AlignAfterOpenBracket = AlwaysBreak in C++.Daniel Jasper2015-12-141-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revision 251405 added AlwaysBreak to support Google's JavaScript style. This changeset complete existing AlignsAfterOpenBracket tests to exercise AlwaysBreak for C++. I thought this would be worthwhile. With this option we can support request from http://lists.llvm.org/pipermail/cfe-dev/2015-May/042942.html, that had been requested a few times. This also partially solve related Bug 23422 and is probably sufficient for most people. AlignAfterOpenBracket = FormatStyle::BAS_AlwaysBreak; BinPackArguments = false; BinPackParameters = false; With these setting we obtain this formatting: void fooWithAVeryLongParamList( int firstParameter, int secondParameter int lastParameter) { object.alsoThisDoenstFitSoIBreakImmidiatly( firstParameter, secondParameter, lastParameter); } Patch by Jean-Philippe Dufraigne, thank you. llvm-svn: 255486
* clang-format: Extend Linux-brace-wrapping test.Daniel Jasper2015-12-141-0/+2
| | | | llvm-svn: 255485
* clang-format: Fix style default for WebKit and Linux styles.Daniel Jasper2015-12-141-2/+0
| | | | | | | | Brought up in codereviews: http://reviews.llvm.org/D15445 http://reviews.llvm.org/D15485 llvm-svn: 255484
* Reformat to untabify.NAKAMURA Takumi2015-12-142-12/+11
| | | | llvm-svn: 255483
* [llvm-dwp] Deduplicate type unitsDavid Blaikie2015-12-144-6/+47
| | | | | | | | It's O(N^2) because it does a simple walk through the existing types to find duplicates, but that will be fixed in a follow-up commit to use a mapping data structure of some kind. llvm-svn: 255482
OpenPOWER on IntegriCloud