- Aug 11, 2015
-
-
Reid Kleckner authored
llvm-svn: 244635
-
Reid Kleckner authored
As requested in post-commit review of r244549. llvm-svn: 244634
-
Reid Kleckner authored
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
-
Rafael Espindola authored
With this clang notices that switches are fully covered. llvm-svn: 244632
-
Sanjay Patel authored
llvm-svn: 244631
-
Sanjay Patel authored
The minsize test will be fixed in the next commit. llvm-svn: 244630
-
Reid Kleckner authored
llvm-symbolizer isn't symbolizing it for some reason. I'll investigate. llvm-svn: 244629
-
Rafael Espindola authored
llvm-svn: 244628
-
Sanjay Patel authored
llvm-svn: 244627
-
Rui Ueyama authored
llvm-svn: 244626
-
Sanjay Patel authored
llvm-svn: 244625
-
Rafael Espindola authored
llvm-svn: 244624
-
Reid Kleckner authored
llvm-svn: 244623
-
Teresa Johnson authored
Summary: For LTO we need to enable this pass in the LTO pipeline, as it is skipped during the "-flto -c" compile step (when PrepareForLTO is set). Reviewers: rnk Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11919 llvm-svn: 244622
-
Rafael Espindola authored
This reverts commit r244620. MSVC doesn't like it :-( llvm-svn: 244621
-
Rafael Espindola authored
llvm-svn: 244620
-
Sanjay Patel authored
llvm-svn: 244619
-
Sanjay Patel authored
llvm-svn: 244618
-
Sanjay Patel authored
llvm-svn: 244617
-
Reid Kleckner authored
Summary: llvm-symbolizer understands both PDBs and DWARF, so it's a better bet if it's available. It prints out the function parameter types and column numbers, so I needed to churn the expected test output a bit. This makes most of the llvm-symbolizer subprocessing code target-independent. Pipes on all platforms use fd_t, and we can use the portable ReadFromFile / WriteToFile wrappers in symbolizer_sanitizer.cc. Only the pipe creation and process spawning is Windows-specific. Please check that the libcdep layering is still correct. I don't know how to reproduce the build configuration that relies on that. Reviewers: samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11791 llvm-svn: 244616
-
John Brawn authored
Other objects can never reference the MergedGlobals symbol so external linkage is never needed. Using private instead of internal linkage means the object is more similar to what it looks like when global merging is not enabled, with the only difference being that the merged variables are addressed indirectly relative to the start of the section they are in. Also add aliases for merged variables with internal linkage, as this also makes the object be more like what it is when they are not merged. Differential Revision: http://reviews.llvm.org/D11942 llvm-svn: 244615
-
Mehdi Amini authored
I incorrectly wrote CHECK-NEXT with followin with ':', the check was ignored by FileCheck. The non-inbound GEP is folded here because the DataLayout is no longer optional, the fold was originally guarded with a comment that said: We need TD information to know the pointer size unless this is inbounds. Now we always have "TD information" and perform the fold. Thanks Jonathan Roelofs for noticing. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 244613
-
Sanjay Patel authored
llvm-svn: 244612
-
Michael Kruse authored
Summary: Check the contents of BBtoRegion during analysis verification. It only takes place if -verify-region-info is passed or LLVM is compiled with XDEBUG. RegionBase<Tr>::verifyRegion() also checks the RegionInfoBase<Tr>::VerifyRegionInfo flag, which is redundant, but verifyRegion() is public API and might be invoked from other sites. In order to avoid behavioral change, this check is not removed. In any case, no region will be verified unless VerifyRegionInfo is set. Reviewers: grosser Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11872 llvm-svn: 244611
-
Sanjay Patel authored
llvm-svn: 244610
-
Sanjay Patel authored
llvm-svn: 244609
-
Michael Kruse authored
In order to have a valid region analysis, we assign all newly created blocks to the parent of the scop's region. This is correct for any pre-existing regions (including the scop's region and its parent), but does not discover any region inside the generated code. For Polly this is not necessary because we do not want to re-run Polly on its own generated code anyway. Reviewers: grosser Part of Differential Revision: http://reviews.llvm.org/D11867 llvm-svn: 244608
-
Sanjay Patel authored
llvm-svn: 244607
-
Michael Kruse authored
The previous code had several problems: For newly created BasicBlocks it did not (always) call RegionInfo::setRegionFor in order to update its analysis. At the moment RegionInfo does not verify its BBMap, but will in the future. This is fixed by determining the region new BBs belong to and set it accordingly. The new executeScopConditionally() requires accurate getRegionFor information. Which block is created by SplitEdge depends on the incoming and outgoing edges of the blocks it connects, which makes handling its output more difficult than it needs to be. Especially for finding which block has been created an to assign a region to it for the setRegionFor problem above. This patch uses an implementation for splitEdge that always creates a block between the predecessor and successor. simplifyRegion has also been simplified by using SplitBlockPredecessors instead of SplitEdge. Isolating the entries and exits have been refectored into individual functions. Previously simplifyRegion did more than just ensuring that there is only one entering and one exiting edge. It ensured that the entering block had no other outgoing edge which was necessary for executeScopConditionally(). Now the latter uses the alternative splitEdge implementation which can handle this situation so simplifyRegion really only needs to simplify the region. Also, executeScopConditionally assumed that there can be no PHI nodes in blocks with one incoming edge. This is wrong and LCSSA deliberately produces such edges. However, previous passes ensured that there can be no such PHIs in exit nodes, but which will no longer hold in the future. The new code that the property that it preserves the identity of region block (the property that the memory address of the BasicBlock containing the instructions remains the same; new blocks only contain PHI nodes and a terminator), especially the entry block. As a result, there is no need to update the reference to the BasicBlock of ScopStmt that contain its instructions because they have been moved to other basic blocks. Reviewers: grosser Part of Differential Revision: http://reviews.llvm.org/D11867 llvm-svn: 244606
-
Sanjay Patel authored
llvm-svn: 244605
-
Sanjay Patel authored
llvm-svn: 244604
-
Sanjay Patel authored
The minsize test will be fixed in the next commit. llvm-svn: 244603
-
Manuel Klimek authored
1. Disable tests that currently cannot work on windows due to missing path canonicalization in the file manager. 2. Add better output when a clang-tidy unit test fails so it's clear what the error is. llvm-svn: 244602
-
Michael Kuperstein authored
First step in preventing immediates that occur more than once within a single basic block from being pulled into their users, in order to prevent unnecessary large instruction encoding .Currently enabled only when optimizing for size. Patch by: zia.ansari@intel.com Differential Revision: http://reviews.llvm.org/D11363 llvm-svn: 244601
-
Michael Kruse authored
RegionInfo::splitBlock did not update RegionInfo correctly. Specifically, it tried to make the new block the entry block if possible. This breaks for nested regions that have edges to the old block. We simply do not change the entry block. Updating RegionInfo becomes trivial as both block will always be in the same region. splitEntryBlockForAlloca makes use of the new splitBlock. Reviewers: grosser Part of Differential Revision: http://reviews.llvm.org/D11867 llvm-svn: 244600
-
NAKAMURA Takumi authored
llvm-svn: 244599
-
Manuel Klimek authored
llvm-svn: 244598
-
Manuel Klimek authored
llvm-svn: 244597
-
Manuel Klimek authored
llvm-svn: 244596
-
James Molloy authored
Lower Intrinsic::aarch64_neon_fmin/fmax to fminnum/fmannum and match that instead. Minimal functional change: - Extra tests added because coverage of scalar fminnm/fmaxnm instructions was nonexistant. - f16 test updated because now we actually generate scalar fminnm/fmaxnm we no longer need to bail out to a libcall! llvm-svn: 244595
-