- Jul 14, 2016
-
-
Benjamin Kramer authored
llvm-svn: 275409
-
Aaron Ballman authored
Speculatively fix the sphinx build, which does not think the original code was valid nasm (http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/11854/steps/docs-llvm-html/logs/stdio). llvm-svn: 275408
-
Aaron Ballman authored
This is a malformed :option: tag -- we don't have an option directive that matches it, so turning it actual text instead of a markup tag. This will hopefully fix the clang docs build (http://lab.llvm.org:8011/builders/clang-sphinx-docs/builds/15194/steps/docs-clang-html/logs/stdio) llvm-svn: 275407
-
Simon Pilgrim authored
Primarily this is to allow blend with zero instead of having to use vperm2f128, but we can use this in the future to deal with AVX512 cases where we need to keep the original element size to correctly fold masked operations. llvm-svn: 275406
-
Benjamin Kramer authored
rL275318 added the test Frontend/opencl.cl test, but that test was never actually run because Frontend/lit.local.cfg doesn't contain the '.cl' file suffix. Once the test is activated, it fails with (unintended) compile errors in the newly added CHECK_INVALID_OPENCL_VERSION checks. This patch adds the '.cl' file suffix to Frontend/lit.local.cfg to activate the test and fixes the test bug by adding '-fblocks' to the relevant command lines. Patch by Martin Böhme! Differential Revision: http://reviews.llvm.org/D22349 llvm-svn: 275405
-
Aaron Ballman authored
llvm-svn: 275404
-
Sjoerd Meijer authored
enables the code size optimisation to fold a rem and div into a single aeabi_uidivmod call. This was not happening before because sdiv was converted but srem not, and instructions with different signedness are not combined. Differential Revision: http://reviews.llvm.org/D22214 llvm-svn: 275403
-
Simon Pilgrim authored
llvm-svn: 275402
-
Sebastian Pop authored
This pass hoists duplicated computations in the program. The primary goal of gvn-hoist is to reduce the size of functions before inline heuristics to reduce the total cost of function inlining. Pass written by Sebastian Pop, Aditya Kumar, Xiaoyu Hu, and Brian Rzycki. Important algorithmic contributions by Daniel Berlin under the form of reviews. Differential Revision: http://reviews.llvm.org/D19338 llvm-svn: 275401
-
Simon Pilgrim authored
llvm-svn: 275400
-
Dean Michael Berris authored
Summary: Reviewers: dok Subscribers: llvm-commits llvm-svn: 275399
-
Simon Pilgrim authored
llvm-svn: 275398
-
Tobias Grosser authored
llvm-svn: 275397
-
Tobias Grosser authored
This change now applies ppcg's GPU mapping on our initial schedule. For this to work, we need to also initialize the set of all names (isl_ids) used in the scop as well as the program context. llvm-svn: 275396
-
Tobias Grosser authored
llvm-svn: 275395
-
Pavel Labath authored
llvm-svn: 275394
-
Pavel Labath authored
Android API <= 16 header do not have these symbols defined, but the kernel does support the relevant calls. And in general, since these calls are on a best-effort basis, it won't hurt even if we try to run in on a really ancient kernel. llvm-svn: 275393
-
Roman Gareev authored
llvm-svn: 275392
-
Simon Pilgrim authored
llvm-svn: 275391
-
Tobias Grosser authored
To do so we copy the necessary information to compute an initial schedule from polly::Scop to ppcg's scop. Most of the necessary information is directly available and only needs to be passed on to ppcg, with the exception of 'tagged' access relations, access relations that additionally carry information about which memory access an access relation originates from. We could possibly perform the construction of tagged accesses as part of ScopInfo, but as this format is currently specific to ppcg we do not do this yet, but keep this functionality local to our GPU code generation. After the scop has been initialized, we compute data dependences and ask ppcg to compute an initial schedule. Some of this functionality is already available in polly::DependenceInfo and polly::ScheduleOptimizer, but to keep differences to ppcg small we use ppcg's functionality here. We may later investiage if a closer integration of these tools makes sense. llvm-svn: 275390
-
Tobias Grosser authored
At this stage, we do not yet modify the IR but just generate a default initialized ppcg_scop and gpu_prog and free both immediately. Both will later be filled with data from the polly::Scop and are needed to use PPCG for GPU schedule generation. This commit does not yet perform any GPU code generation, but ensures that the basic infrastructure has been put in place. We also add a simple test case to ensure the new code is run and use this opportunity to verify that GPU_CODEGEN tests are only run if GPU code generation has been enabled in cmake. llvm-svn: 275389
-
Benjamin Kramer authored
clang-rename needs at least to have a minimum documentation to provide a small introduction for new users Patch by Kirill Bobyrev! Differential Revision: http://reviews.llvm.org/D22129 llvm-svn: 275388
-
Benjamin Kramer authored
This patch does the following: * enforces proper formatting for few files (i.e. deals with 80 linewidth violations and few other things) * ensures '\n' chars are passed to the output streams instead of "\n" strings * fixes a bug caused by calling cl::PrintHelpMessage(), which occasionally calls exit(0), so that exit(1) (which is right after cl::PrintHelpMessage line) becomes dead code Patch by Kirill Bobyrev! Differential Revision: http://reviews.llvm.org/D22091 llvm-svn: 275387
-
Haojian Wu authored
Summary: The judgement that checks whether the fully-qualified name has scoped qualifiers prefix is incorrect. Should always check whether the first matched postion is the beginning position. Reviewers: bkramer Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D22343 llvm-svn: 275386
-
Eugene Leviant authored
llvm-svn: 275385
-
Asaf Badouh authored
add "__" prefix llvm-svn: 275384
-
Eugene Leviant authored
llvm-svn: 275383
-
Sjoerd Meijer authored
constant hoisting. It not only takes into account the number of uses and the cost of expressions in which constants appear, but now also the resulting integer range of the offsets. Thus, the algorithm maximizes the number of uses within an integer range that will enable more efficient code generation. On ARM, for example, this will enable code size optimisations because less negative offsets will be created. Negative offsets/immediates are not supported by Thumb1 thus preventing more compact instruction encoding. Differential Revision: http://reviews.llvm.org/D21183 llvm-svn: 275382
-
Ilia K authored
* Previously -break-enable mistakenly set BP's enabled flag to false. * These commands print fake =breakpoint-modified messages, what's not needed anymore because that events are come in normal way. * Add tests for -break-enable/-break-disable commands Initial patch from xuefangliang@hotmail.com. The test case was improved by me. Differential Revision: http://reviews.llvm.org/D21757 llvm-svn: 275381
-
David Majnemer authored
We were able to fold masked loads with an all-ones mask to a normal load. However, we couldn't turn a masked load with a mask with mixed ones and undefs into a normal load. llvm-svn: 275380
-
David Majnemer authored
We can always pick the passthru value if the mask is undef: we are permitted to treat the mask as-if it were filled with zeros. llvm-svn: 275379
-
Craig Topper authored
[AVX512] Implement EXTLOAD lowering with patterns to select existing VPMOVZX instructions instead of creating CodeGenOnly instructions. llvm-svn: 275378
-
Dean Michael Berris authored
Summary: Fix the build to use hasFlag instead of hasArg for checking some flags. Reviewers: echristo Subscribers: mehdi_amini, cfe-commits Differential Revision: http://reviews.llvm.org/D22338 llvm-svn: 275377
-
Eli Friedman authored
Apparently someone miscounted the number of zeros in the immediate. Fixes https://llvm.org/bugs/show_bug.cgi?id=28544 . llvm-svn: 275376
-
Matt Arsenault authored
Use the replacement pass to update the tests, and delete old names. llvm-svn: 275375
-
Rui Ueyama authored
ELF spec says that alignment of 0 is equivalent to 1. Previously, we arbitrary set to 0 or 1, but always setting to 1 makes our program simpler. llvm-svn: 275374
-
Rui Ueyama authored
r275301 made .got section be aligned on Target->GotEntrySize, so GotEntrySize must have been initialized. We didn't initialize it for AMDGPU. llvm-svn: 275373
-
Matt Arsenault authored
Mesa removed this path, so nothing is using these anymore. llvm-svn: 275372
-
Matt Arsenault authored
llvm-svn: 275371
-
Matt Arsenault authored
It wasn't actually running the pass, and since it is missing the llvm prefix, the eh intrinsic was not really an IntrinsicInst. Also add missing test for lifetime markers. llvm-svn: 275370
-