summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [codeview] Use the MCStreamer interface directly instead of AsmPrinterReid Kleckner2016-02-032-101/+100
| | | | | | | | | This is mostly about having shorter lines and standardizing on one interface, but it also avoids some needless indirection. No functional change. llvm-svn: 259697
* [DWARFDebug] Fix another case of overlapping rangesKeno Fischer2016-02-032-13/+144
| | | | | | | | | | | | | | | Summary: In r257979, I added code to ensure that we wouldn't merge DebugLocEntries if the pieces they describe overlap. Unfortunately, I failed to cover the case, where there may have multiple active Expressions in the entry, in which case we need to make sure that no two values overlap before we can perform the merge. This fixed PR26148. Reviewers: aprantl Differential Revision: http://reviews.llvm.org/D16742 llvm-svn: 259696
* Address NDEBUG-related linkage issues for Value::assertModuleIsMaterialized()Todd Fiala2016-02-032-5/+3
| | | | | | | | | | | | | | The IR/Value class had a linkage issue present when LLVM was built as a library, and the LLVM library build time had different settings for NDEBUG than the client of the LLVM library. Clients could get into a state where the LLVM lib expected Value::assertModuleIsMaterialized() to be inline-defined in the header but clients expected that method to be defined in the LLVM library. See this llvm-commits thread for more details: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160201/329667.html llvm-svn: 259695
* test: make test case more robust against removal of unrelated instructionsTobias Grosser2016-02-031-1/+1
| | | | llvm-svn: 259693
* Fix addend computation for IRELATIVE relocations.Rafael Espindola2016-02-032-13/+36
| | | | llvm-svn: 259692
* [SelectionDAG] Fix CombineToPreIndexedLoadStore O(n^2) behaviorTim Shen2016-02-033-6/+34
| | | | | | | | | | | | | | | | | | | | This patch consists of two parts: a performance fix in DAGCombiner.cpp and a correctness fix in SelectionDAG.cpp. The test case tests the bug that's uncovered by the performance fix, and fixed by the correctness fix. The performance fix keeps the containers required by the hasPredecessorHelper (which is a lazy DFS) and reuse them. Since hasPredecessorHelper is called in a loop, the overall efficiency reduced from O(n^2) to O(n), where n is the number of SDNodes. The correctness fix keeps iterating the neighbor list even if it's time to early return. It will return after finishing adding all neighbors to Worklist, so that no neighbors are discarded due to the original early return. llvm-svn: 259691
* [CUDA] added declarations for device-side system callsArtem Belevich2016-02-031-8/+35
| | | | | | ...and std:: wrappers for free/malloc. llvm-svn: 259690
* Fix sign conversion warnings in LLDB Python unittestsReid Kleckner2016-02-031-19/+18
| | | | llvm-svn: 259689
* Ensure that we substitute into the declaration of a template parameter packRichard Smith2016-02-032-4/+54
| | | | | | | (that is not a pack expansion) during template argument deduction, even if we deduced that the pack would be empty. llvm-svn: 259688
* Refactor conversion of deduced template arguments to reduce repetition.Richard Smith2016-02-031-103/+49
| | | | llvm-svn: 259687
* [NetBSD] Remove dead code.Davide Italiano2016-02-031-7/+0
| | | | | PR: http://reviews.llvm.org/D16818 llvm-svn: 259686
* Remove a stray ;.Jim Ingham2016-02-031-1/+0
| | | | llvm-svn: 259685
* The SetStopInfo from a Mach Exception was setting the stopJim Ingham2016-02-033-2/+4
| | | | | | | | | | reason to None when we stop due to a trace, then noticed that we were on a breakpoint that was not valid for the current thread. That should actually have set it back to trace. This was pr26441 (<rdar://problem/24470203>) llvm-svn: 259684
* Minor performance tweaks to llvm-tblgen (and a few that might be a good idea)Reid Kleckner2016-02-033-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds a reserve call to an expensive function (`llvm::LoadIntrinsics`), and may fix a few other low hanging performance fruit (I've put them in comments for now, so we can discuss). **Motivation:** As I'm sure other developers do, when I build LLVM, I build the entire project with the same config (`Debug`, `MinSizeRel`, `Release`, or `RelWithDebInfo`). However, the `Debug` config also builds llvm-tblgen in `Debug` mode. Later build steps that run llvm-tblgen then can actually be the slowest steps in the entire build. Nobody likes slow builds. Reviewers: rnk, dblaikie Differential Revision: http://reviews.llvm.org/D16832 Patch by Alexander G. Riccio llvm-svn: 259683
* re.results.form: Format out-of-range subexpression references as nullDuncan P. N. Exon Smith2016-02-032-4/+56
| | | | | | | | | | Rather than crashing in match_results::format() when a reference to a marked subexpression is out of range, format the subexpression as empty (i.e., replace it with an empty string). Note that match_results::operator[]() has a range-check and returns a null match in this case, so this just re-uses that logic. llvm-svn: 259682
* [Sema debugger support] Require non-void types to be complete in ↵Douglas Gregor2016-02-032-0/+17
| | | | | | | | | | unknown-anytype casts. When performing a cast from an __unknown_anytype function call to a non-void type, we need to make sure that type is complete. Fixes rdar://problem/23959960. llvm-svn: 259681
* Move some android platform functions to lldbplatformutil.Zachary Turner2016-02-033-79/+80
| | | | | | | | | | | | | | | | | | | My eventual goal is to move all of the test decorators to their own module such as `decorators.py`. But some of the decorators use existing functions in `lldbtest.py` and conceptually the functions are probably more appropriately placed in lldbplatformutil. Moreover, lldbtest.py is a huge file with a ton of random utility functions scattered around, so this patch also workds toward the goal of reducing the footprint of this one module to a more reasonable size. So this patch moves some of them over to lldbplatformutil with the eventual goal of moving decorators over to their own module. Reviewed By: Tamas Berghammer, Pavel Labath Differential Revision: http://reviews.llvm.org/D16830 llvm-svn: 259680
* ELF: Remove dead code.Rui Ueyama2016-02-031-3/+0
| | | | | | | R_X86_64_DTPOFF64 relocs are for the dynamic linker. Static linkers create them but don't consume them. llvm-svn: 259679
* Added Anastasia Stulova as a code owner for OpenCLAnastasia Stulova2016-02-031-0/+4
| | | | | | | Reviewers: Chris Lattner Subscribers: cfe-dev llvm-svn: 259678
* Fix regression from r259622: the operand of an increment that is the operand ofRichard Smith2016-02-032-2/+3
| | | | | | | a cast expression is not the operand of a cast expression itself, so if it's parenthesized we need to form a ParenExpr not a ParenListExpr. llvm-svn: 259677
* ARM: support TLS for WoASaleem Abdulrasool2016-02-036-0/+205
| | | | | | | | | | | Add support for TLS access for Windows on ARM. This generates a similar access to MSVC for ARM. The changes to the tablegen data is needed to support loading an external symbol global that is not for a call. The adjustments to the DAG to DAG transforms are needed to preserve the 32-bit move. llvm-svn: 259676
* Revert r259662, which caused regressions on polly tests.Wei Mi2016-02-0312-205/+30
| | | | llvm-svn: 259675
* [InstCombine] Revert r238452: Fold IntToPtr and PtrToInt into preceding loads.Quentin Colombet2016-02-034-169/+7
| | | | | | | | | | | | | | | | | | | | | | | | | According to git bisect, this is the root cause of a miscompile for Regex in libLLVMSupport. I am still working on reducing a test case. The actual bug may be elsewhere and this commit just exposed it. Anyway, at the moment, to reproduce, follow these steps: 1. Build clang and libLTO in release mode. 2. Create a new build directory <stage2> and cd into it. 3. Use clang and libLTO from #1 to build llvm-extract in Release mode + asserts using -O2 -flto 4. Run llvm-extract -ralias '.*bar' -S test/Other/extract-alias.ll Result: program doesn't contain global named '.*bar'! Expected result: @a0a0bar = alias void ()* @bar @a0bar = alias void ()* @bar declare void @bar() Note: In step #3, if you don't use lto or asserts, the miscompile disappears. llvm-svn: 259674
* [ScheduleDAGInstrs::buildSchedGraph()] Handling of memory dependecies rewritten.Jonas Paulsson2016-02-0310-355/+458
| | | | | | | | | | | | | | | | | | | Recommited, after some fixing with test cases. Updated test cases: test/CodeGen/AArch64/arm64-misched-memdep-bug.ll test/CodeGen/AArch64/tailcall_misched_graph.ll Temporarily disabled test cases: test/CodeGen/AMDGPU/split-vector-memoperand-offsets.ll test/CodeGen/PowerPC/ppc64-fastcc.ll (partially updated) test/CodeGen/PowerPC/vsx-fma-m.ll test/CodeGen/PowerPC/vsx-fma-sp.ll http://reviews.llvm.org/D8705 Reviewers: Hal Finkel, Andy Trick. llvm-svn: 259673
* Fix comments /NFCXinliang David Li2016-02-031-2/+3
| | | | llvm-svn: 259672
* Add builtins for bitreverse intrinsicMatt Arsenault2016-02-033-42/+57
| | | | | | | Follow the naming convention that bswap uses since it's a similar sort of operation. llvm-svn: 259671
* clang-format: Fix formatting of ternary expressions with comments.Daniel Jasper2016-02-032-4/+12
| | | | | | | | | | | | | | Before: int i = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ? /*bbbbbbbbbbbbbbbbbbbb=*/bbbbbbbbbbbbbbbbbbbbbbbbb : ccccccccccccccccccccccccccc; After: int i = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ? /*bbbbbbbbbbbbbbbbbbbb=*/bbbbbbbbbbbbbbbbbbbbbbbbb : ccccccccccccccccccccccccccc; llvm-svn: 259670
* Do not expect /dev/null (or NUL) non-mmap'able.Rui Ueyama2016-02-031-2/+2
| | | | | | | On some Windows environment, this test did not fail, because opening NUL with FileOutputBuffer didn't fail. Thanks to George Rimar for reporting. llvm-svn: 259669
* [clang-tidy] Fix a crash issue on misc-virtual-near-miss check.Haojian Wu2016-02-032-0/+9
| | | | | | | | | | | | | | Summary: The crash is caused by triggering a Assertion failed in DeclCXX.h when the check detects non-defined class return type in a class method declaration. Reviewers: congliu, alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D16854 llvm-svn: 259668
* Add back the ABITest makefilesChris Bieneman2016-02-036-0/+272
| | | | | | These files are standalone and not integrated with CMake, so we probably want them. llvm-svn: 259667
* [Unittest] Clean up formatting, NFCJoseph Tremoulet2016-02-031-55/+54
| | | | | | | | | | | | | | Summary: Use an early return to reduce indentation. Remove unused local. Reviewers: dblaikie, lhames Subscribers: lhames, llvm-commits Differential Revision: http://reviews.llvm.org/D16513 llvm-svn: 259663
* [SCEV] Try to reuse existing value during SCEV expansionWei Mi2016-02-0312-30/+205
| | | | | | | | | | | | | | | | Current SCEV expansion will expand SCEV as a sequence of operations and doesn't utilize the value already existed. This will introduce redundent computation which may not be cleaned up throughly by following optimizations. This patch introduces an ExprValueMap which is a map from SCEV to the set of equal values with the same SCEV. When a SCEV is expanded, the set of values is checked and reused whenever possible before generating a sequence of operations. Differential Revision: http://reviews.llvm.org/D12090 llvm-svn: 259662
* Simplify. NFC.Rafael Espindola2016-02-031-5/+1
| | | | llvm-svn: 259660
* Properly build shared libraries if LLVM_LINK_LLVM_DYLIB is enabled.Tobias Grosser2016-02-031-0/+7
| | | | | Contributed-by: Jack Howarth <howarthjw@gmail.com> llvm-svn: 259659
* www: Simplify 'build & install' descriptionsTobias Grosser2016-02-031-195/+10
| | | | | | | | We remove information for older versions of Polly and also shorten the overall text. This should make it a lot easier for people to get to the important code wight away. llvm-svn: 259658
* [ARM] Move GNUEABI divmod to __aeabi_divmod*Renato Golin2016-02-032-49/+6
| | | | | | | | | | The GNU toolchain emits __aeabi_divmod for soft-divide on ARM cores which happens to be a lot faster than __divsi3/__modsi3 when the core has hardware divide instructions. Do the same here. Fixes PR26450. llvm-svn: 259657
* [MachineCopyPropagation] Fix comment. NFCJun Bum Lim2016-02-031-2/+3
| | | | | | | | | | Reviewers: MatzeB, qcolombet, jmolloy, mcrosier Subscribers: llvm-commits, mcrosier Differential Revision: http://reviews.llvm.org/D16806 llvm-svn: 259656
* [mips] Remove redundant inclusions of MipsAnalyzeImmediate.hDaniel Sanders2016-02-039-8/+1
| | | | llvm-svn: 259655
* [OpenMP] Parsing + sema for target parallel for directive.Arpith Chacko Jacob2016-02-0344-16/+4637
| | | | | | | | | | | Summary: This patch adds parsing + sema for the target parallel for directive along with testcases. Reviewers: ABataev Differential Revision: http://reviews.llvm.org/D16759 llvm-svn: 259654
* tScopInfo: Shorten comment slightlyTobias Grosser2016-02-031-3/+1
| | | | llvm-svn: 259653
* Minor cleanup to remove casts and improve some const correctness. NFC.Aaron Ballman2016-02-032-28/+28
| | | | | | Patch by Alexander Riccio. llvm-svn: 259652
* [OpenCL] Adding reserved operator logical xor for OpenCLAnastasia Stulova2016-02-036-1/+17
| | | | | | | | | | | | | | | | | | This patch adds the reserved operator ^^ when compiling for OpenCL (spec v1.1 s6.3.g), which results in a more meaningful error message. Patch by Neil Hickey! Review: http://reviews.llvm.org/D13280 M test/SemaOpenCL/unsupported.cl M include/clang/Basic/TokenKinds.def M include/clang/Basic/DiagnosticParseKinds.td M lib/Basic/OperatorPrecedence.cpp M lib/Lex/Lexer.cpp M lib/Parse/ParseExpr.cpp llvm-svn: 259651
* tsan: disable flaky mmap_stress testDmitry Vyukov2016-02-031-0/+5
| | | | llvm-svn: 259650
* [DemandedBits] Revert r249687 due to PR26071James Molloy2016-02-033-72/+0
| | | | | | | | | | | | | | This regresses a test in LoopVectorize, so I'll need to go away and think about how to solve this in a way that isn't broken. From the writeup in PR26071: What's happening is that ComputeKnownZeroes is telling us that all bits except the LSB are zero. We're then deciding that only the LSB needs to be demanded from the icmp's inputs. This is where we're wrong - we're assuming that after simplification the bits that were known zero will continue to be known zero. But they're not - during trivialization the upper bits get changed (because an XOR isn't shrunk), so the icmp fails. The fault is in demandedbits - its contract does clearly state that a non-demanded bit may either be zero or one. llvm-svn: 259649
* Provide match function to look over an entire TU again.Daniel Jasper2016-02-032-1/+24
| | | | llvm-svn: 259648
* Forgot to remove file in previous commit.Yury Gribov2016-02-031-9/+0
| | | | llvm-svn: 259647
* [analyzer] AnalysisConsumer: print fully-qualified function name while ↵Yury Gribov2016-02-032-1/+27
| | | | | | | | | | | displaying progress -analyzer-display progress option prints only function names which may be ambiguous. This patch forces AnalysisConsumer to print fully-qualified function names. Patch by Alex Sidorin! Differential Revision: http://reviews.llvm.org/D16804 llvm-svn: 259646
* Fix for PR 26381Nemanja Ivanovic2016-02-031-1/+1
| | | | | | Simple fix - Constant values were not being sign extended in FastIsel. llvm-svn: 259645
* Add ability to override JIT expr compiler options.Aidan Dodds2016-02-032-25/+88
| | | | | | | | | Runtimes should be able to pass custom compilation options to the JIT for their stack frame. This patch adds a custom expression options member class to LanguageOptions, and modifies the clang expression evaluator to check the current runtime for those options. If those options are available on the runtime, they are passed to the clang compiler. Committed for Luke Drummond. Differential Revision: http://reviews.llvm.org/D15527 llvm-svn: 259644
* [clang-tidy] bug fix: Don't warn on partial template specialization in ↵Haojian Wu2016-02-032-1/+29
| | | | | | | | | | | | `misc-definitions-in-headers` check. Reviewers: alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D16578 llvm-svn: 259643
OpenPOWER on IntegriCloud