summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Parse the triple in base-config-ix to propagate ANDROID variable ↵Chris Bieneman2016-06-272-13/+12
| | | | | | | | | | | correctly" This reverts commit r273914. This commit broke bots building compiler-rt using LLVM_BUILD_EXTERNAL_COMPILER_RT. See: http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_build/22221/console llvm-svn: 273956
* [CFLAA] Make MSVC happy. NFC.George Burgess IV2016-06-271-1/+3
| | | | | | | | Apparently, MSVC complains if there's an implicit conversion from `unsigned` to `unsigned long long`, if the `unsigned` is the result of a bit shift. llvm-svn: 273955
* Change PlatformDarwinKernel::GetSharedModule to be a little moreJason Molenda2016-06-271-3/+16
| | | | | | | | | | | | explicit in how it adds the kernel binary, to guard against the case where a kernel corefile might incorrectly include the kernel's UUID in it (so calling ::GetSharedModule may end up returning the global module cache's copy of the core file instead of adding the kerenl binary). <rdar://problem/26988816> llvm-svn: 273954
* [MC] Garbage collect dead API: createELFObjectTargetWriter().Davide Italiano2016-06-271-7/+0
| | | | llvm-svn: 273953
* Fix size computation of array allocation in inline cost analysisEaswaran Raman2016-06-272-3/+40
| | | | | | Differential revision: http://reviews.llvm.org/D21690 llvm-svn: 273952
* [InstCombine] shrink type of sdiv if dividend is sexted and constant divisor ↵Sanjay Patel2016-06-272-9/+38
| | | | | | | | | | | is small enough (PR28153) This should fix PR28153: https://llvm.org/bugs/show_bug.cgi?id=28153 Differential Revision: http://reviews.llvm.org/D21769 llvm-svn: 273951
* (no commit message)Chris Dewhurst2016-06-271-0/+2
| | | | llvm-svn: 273950
* [Sparc] Atomics pass changes to make work with SparcV8 back-ends.Chris Dewhurst2016-06-271-4/+2
| | | | | | This change reverts a "false" test that was placed to avoid regressions while the atomics pass was completed for the Sparc back-ends. llvm-svn: 273949
* Attempting to fix lit test test/Headers/opencl-c-header.cl on cygwin.Yaxun Liu2016-06-271-2/+2
| | | | | | "chmod u-x *" does not work for lit on cygwin. llvm-svn: 273948
* AMDGPU: Set MinInstAlignmentMatt Arsenault2016-06-271-0/+1
| | | | | | Not sure this actually changes anything llvm-svn: 273947
* Change all but the last ErrorOr<...> use for MachOUniversalBinary to ↵Kevin Enderby2016-06-276-16/+32
| | | | | | | | | | | | | | | Expected<...> to allow a good error message to be produced. I added the one test case that the object file tools could produce an error message. The other two errors can’t be triggered if the input file is passed through sys::fs::identify_magic(). But the malformedError("bad magic number") does get triggered by the logic in llvm-dsymutil when dealing with a normal Mach-O file. The other "File too small ..." error would take a logic error currently to produce and is not tested for. llvm-svn: 273946
* Convert a few more comparisons to isPositionIndependent(). NFC.Rafael Espindola2016-06-276-7/+11
| | | | llvm-svn: 273945
* Delete the IsStatic predicate.Rafael Espindola2016-06-272-7/+6
| | | | | | In all its uses it was equivalent to IsNotPIC. llvm-svn: 273943
* [yaml2obj] Hopefully the last test case update from r273915Chris Bieneman2016-06-271-1/+1
| | | | | | Should fix the last LLD bots. llvm-svn: 273942
* clang-rename: try to make ClassTestReplacements more reliableMiklos Vajna2016-06-271-3/+4
| | | | | | | | | | | | | | | | | As it failed on e.g. <http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/7089/steps/ninja%20check%201/logs/FAIL%3A%20Clang%20Tools%3A%3AClassTestReplacements.cpp> with: Trouble iterating over directory '/home/buildbots/ppc64be-clang-test/clang-ppc64be/stage1/tools/clang/tools/extra/test/clang-rename/Output': No such file or directory A reliable way to trigger the problem locally is to run all clang-rename tests in parallel in a loop: for i in $(seq 1 100); do ~/git/llvm/workdir/bin/llvm-lit -v -j15 . || break; done Change the test script to be more similar to test/Tooling/clang-check.cpp, that way the above command doesn't fail for me anymore. llvm-svn: 273941
* AMDGPU: Implement per-function subtargetsMatt Arsenault2016-06-275-42/+188
| | | | llvm-svn: 273940
* [yaml2obj] One more missing test case update from r273915Chris Bieneman2016-06-271-0/+1
| | | | | | Should fix the last LLD bots. llvm-svn: 273939
* [llvm-ar] Ignore -plugin option.Davide Italiano2016-06-271-0/+1
| | | | | | | | | | | binutils ar uses -plugin to specify the LTO plugin, but LLVM doesn't need this as it doesn't use a plugin for LTO. Accepting (and ignoring) the option allows interoperability with existing build systems and make downstream consumers life much easier. No objections from Rafael on this change. llvm-svn: 273938
* AMDGPU: Move subtarget feature checks into passesMatt Arsenault2016-06-2711-38/+46
| | | | llvm-svn: 273937
* add tests for PR28153Sanjay Patel2016-06-271-0/+76
| | | | llvm-svn: 273936
* Only emit extension for zeroext/signext arguments if type is < 32 bitsJustin Holewinski2016-06-272-2/+28
| | | | | | | | | | Reviewers: jingyue, jlebar Subscribers: jholewinski Differential Revision: http://reviews.llvm.org/D21756 llvm-svn: 273922
* Teach shouldAssumeDSOLocal about tls.Rafael Espindola2016-06-273-30/+42
| | | | | | Fixes a fixme about handling other visibilities. llvm-svn: 273921
* [yaml2obj] Updating LLD tests to account for LLVM r273915Chris Bieneman2016-06-2763-63/+66
| | | | | | This removed the -format flag from yaml2obj in favor of YAML tags. llvm-svn: 273920
* Fixed crash of SLP Vectorizer on KNLElena Demikhovsky2016-06-272-0/+19
| | | | | | | The bug is connected to vector GEPs. https://llvm.org/bugs/show_bug.cgi?id=28313 llvm-svn: 273919
* [yaml2obj] Missed updating a few test cases in r273915Chris Bieneman2016-06-272-4/+4
| | | | | | This should fix the broken bots. llvm-svn: 273918
* [lld][MachO] Remove stray comment.Lang Hames2016-06-271-2/+0
| | | | llvm-svn: 273917
* AMDGPU: Fix verifier errors with undef vector indicesMatt Arsenault2016-06-273-27/+385
| | | | | | Also fix pointlessly adding exec to liveins. llvm-svn: 273916
* [yaml2obj] Remove --format option in favor of YAML tagsChris Bieneman2016-06-2776-208/+261
| | | | | | | | | | | | | | | | | | | | | | Summary: Our YAML library's handling of tags isn't perfect, but it is good enough to get rid of the need for the --format argument to yaml2obj. This patch does exactly that. Instead of requiring --format, it infers the format based on the tags found in the object file. The supported tags are: !ELF !COFF !mach-o !fat-mach-o I have a corresponding patch that is quite large that fixes up all the in-tree test cases. Reviewers: rafael, Bigcheese, compnerd, silvas Subscribers: compnerd, llvm-commits Differential Revision: http://reviews.llvm.org/D21711 llvm-svn: 273915
* Parse the triple in base-config-ix to propagate ANDROID variable correctlySumanth Gundapaneni2016-06-272-12/+13
| | | | | | | | | | | The triple must be parsed in base-config-ix.cmake. Otherwise, the cmake variable ANDROID won't be set and this will confuse cmake to build unsupported targets targeted for android. Diferential revision: http://reviews.llvm.org/D21474 llvm-svn: 273914
* Add simple, stupid, pattern-based fuzzer / reducer for modules bugs. I'veRichard Smith2016-06-271-0/+166
| | | | | | | already used this to find and reduce quite a few bugs, and it works pretty well if you can find the right patterns. llvm-svn: 273913
* Verifier: Reject non-float !fpmathMatt Arsenault2016-06-273-2/+7
| | | | | | | Code already assumes this is float. getFPAccuracy() crashes on any other type. llvm-svn: 273912
* [ExprConstant] Fix PR28314 - crash while evluating objectsize.George Burgess IV2016-06-272-10/+42
| | | | | | | | | | | | | | | | | | | | | This fixes a crash in code like: ``` struct A { struct B b; char c[1]; } int foo(struct A* a) { return __builtin_object_size(a->c, 0); } ``` We wouldn't check whether the structs we were examining were invalid, and getting the layout of an invalid struct is (unsurprisingly) A Bad Thing. With this patch, we'll always return conservatively if we see an invalid struct, since I'm assuming the presence of an invalid struct means that our compilation failed (so having a conservative result isn't such a big deal). llvm-svn: 273911
* clang-rename: add a -export-fixes optionMiklos Vajna2016-06-272-0/+38
| | | | | | | | | | | | | | | | | | Use case: a class is declared in a header, and defined in two translation units. clang-rename is asked to rename a class member that's referenced in both translation units. Using -i is not possible, as in case the first clang-rename invocation touches the header, the second invocation will result in compilation errors. Using -export-fixes handles this situation, each invocation can work on the original source, and at the end the user can apply the replacements with clang-apply-replacements. Reviewers: klimek Differential Revision: http://reviews.llvm.org/D21676 llvm-svn: 273910
* DAGCombiner: Don't narrow volatile vector loads + extractMatt Arsenault2016-06-272-3/+42
| | | | llvm-svn: 273909
* [OpenMP] Diagnose missing cases of statements between target and teams ↵Kelvin Li2016-06-272-0/+9
| | | | | | | | | | | | | | | directives Clang fails to diagnose cases such as #pragma omp target while(0) { #pragma omp teams {} } A patch by David Sheinkman. llvm-svn: 273908
* Use isPositionIndependent(). NFC.Rafael Espindola2016-06-271-2/+2
| | | | llvm-svn: 273907
* Add comment on why loops/regions can overlap. NFC.Michael Kruse2016-06-271-0/+29
| | | | | | | The case is described in llvm.org/PR28071 which was fixed in the previous commit. llvm-svn: 273906
* Fix assertion due to loop overlap with nonaffine region.Michael Kruse2016-06-274-1/+192
| | | | | | | | | | | | Reject and report regions that contains loops overlapping nonaffine region. This situation typically happens in the presence of inifinite loops. This addresses bug llvm.org/PR28071. Differential Revision: http://reviews.llvm.org/D21312 Contributed-by: Huihui Zhang <huihuiz@codeaurora.org> llvm-svn: 273905
* [InstCombine] refactor sdiv by APInt transforms (NFC)Sanjay Patel2016-06-271-9/+10
| | | | | | | There's at least one more fold to do here: https://llvm.org/bugs/show_bug.cgi?id=28153 llvm-svn: 273904
* Use isPositionIndependent(). NFC.Rafael Espindola2016-06-272-5/+3
| | | | llvm-svn: 273903
* [CFLAA] Use unsigned numbers for bit-shifts.George Burgess IV2016-06-271-1/+1
| | | | | | | | | This uses `1U` instead of `1ULL` because StratifiedAttrs is a 32-bit bitset. Thanks to Hans-Bernhard Broker for bringing this up. llvm-svn: 273902
* Factor out buildMemorySSA from getWalker.Daniel Berlin2016-06-272-9/+12
| | | | | | NFC. llvm-svn: 273901
* Refactor duplicated condition.Rafael Espindola2016-06-271-4/+3
| | | | llvm-svn: 273900
* X86 Lowering - Fixed a crash in ICMP scalar instructionElena Demikhovsky2016-06-272-4/+33
| | | | | | | | Fixed a bug in EmitTest() function in combining shl + icmp. https://llvm.org/bugs/show_bug.cgi?id=28119 llvm-svn: 273899
* Fix the Windows build after r273599Hans Wennborg2016-06-273-1/+8
| | | | | | | | | | | | | | That patch made all LLVM projects build with -DUNICODE. However, this doesn't work for the OpenMP runtime. But just overriding the flag with -UUNICODE breaks compiling ittnotify_static.c, which for some reason needs to be compiled with -DUNICIODE. Note that compiling ittnotify.h with -DUNICODE does not work though. This seems like a mess. This commit fixes it for now, but it would be great if someone who works on the OpenMP runtime could fix it properly. llvm-svn: 273898
* [InstCombine] use m_APInt for div --> ashr foldSanjay Patel2016-06-272-8/+15
| | | | | | The APInt matcher works with splat vectors, so we get this fold for vectors too. llvm-svn: 273897
* Use isPositionIndependent(). NFC.Rafael Espindola2016-06-271-3/+2
| | | | llvm-svn: 273896
* Revert -r273892 "Support arbitrary addrspace pointers in masked load/store ↵Artur Pilipenko2016-06-2712-338/+206
| | | | | | intrinsics" since some of the clang tests don't expect to see the updated signatures. llvm-svn: 273895
* [PM] Port PartialInlining to the new PMEaswaran Raman2016-06-277-23/+65
| | | | | | Differential revision: http://reviews.llvm.org/D21699 llvm-svn: 273894
* [tsan] Add HB edges for GCD barrier blocksKuba Brecka2016-06-273-48/+132
| | | | | | | | Adding support for GCD barrier blocks in concurrent queues. This uses two sync object in the same way as read-write locks do. This also simplifies the use of dispatch groups (the notifications act as barrier blocks). Differential Revision: http://reviews.llvm.org/D21604 llvm-svn: 273893
OpenPOWER on IntegriCloud