summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [llgo] irgen: always use TargetMachine's data layoutAndrew Wilkins2015-09-252-28/+0
| | | | | | | | | | | | | | | | | | | | | | | Summary: Another attempt at resolving the runtime assertion in llgoi due to data layout mismatch between module and execution engine. The X86 data layout constant appears to be unnecessary, and does not match what the execution engine picks. Using the registered Target, we pick the same data layout as the execution engine. While I was in the vicinity, I deleted the last remnants of PNaCl support. Reviewers: pcc Subscribers: jfb, llvm-commits, dschuff Differential Revision: http://reviews.llvm.org/D12630 llvm-svn: 248565
* Add missing PHI to test caseTobias Grosser2015-09-251-1/+2
| | | | llvm-svn: 248563
* ARM: make -Asserts,-Werror=unused-variable build happySaleem Abdulrasool2015-09-251-4/+4
| | | | | | | The value was only used in an assertion. Sink the variable usage into the assertion. llvm-svn: 248562
* ARM: address WoA division limitationSaleem Abdulrasool2015-09-255-44/+196
| | | | | | | | | | | | | We now emit the compiler generated divide by zero check that was needed for the MSVC routines. We construct a psuedo-instruction for the DBZ check as the operation requires splitting up the BB. For the 64-bit operations, we need to custom expand the node as we need to insert the DBZ check and then emit the libcall to the appropriate name. Because this is target specific, it seemed better to reproduce the expansion operation from the target-agnostic type legalization rather than sink this there to avoid the duplication. The division library calls now match MSVC semantically. llvm-svn: 248561
* [ELF2] Make buildbot happy again.Davide Italiano2015-09-251-1/+1
| | | | llvm-svn: 248560
* [ELF2] Use static non-member function when it suffices.Davide Italiano2015-09-253-12/+11
| | | | | | Pointed out by Rui Ueyama. llvm-svn: 248559
* ELF2: Use lambdas instead of named functions.Rui Ueyama2015-09-251-16/+14
| | | | | | | They are short and used only once, so writing them where they are used is better. llvm-svn: 248558
* Remove dead code.Rui Ueyama2015-09-251-9/+0
| | | | llvm-svn: 248557
* Fix evaluation of unicode character arrays (char16_t[] and char32_t[])Dawn Perchik2015-09-256-18/+69
| | | | | | | | | | | | | | | | Suppose we have the UTF-16 string: char16_t[] s = u"hello"; Before this patch, evaluating the string in lldb would get: (char16_t [6]) $0 = ([0] = U+0068 u'h', [1] = U+0065 u'e', [2] = U+006c u'l', [3] = U+006c u'l', [4] = U+006f u'o', [5] = U+0000 u'\0') After applying the patch, we now get: (char16_t [6]) $0 = u"hello" Patch from evgeny.leviant@gmail.com Reviewed by: granata.enrico Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13053 llvm-svn: 248555
* [ELF2] Fix binaries so they actually run on FreeBSD.Davide Italiano2015-09-253-3/+32
| | | | | | | | | | | | | | | | | | | | | | | | | Since FreeBSD 4.1, the kernel expects binaries to be marked with ELFOSABI_FREEBSD in the ELF header to exec() them. LLD unconditionally sets OSABI to ELF_OSABINONE, and everything linked with it won't run on FreeBSD (unless explicitly rebranded). Example: % ./aarch64-hello ELF binary type "0" not known. zsh: exec format error: ./aarch64-hello FreeBSD could be modified to accept ELF_OSABINONE, but that would break all existing binaries, so the kernel needs to support both ABINONE and ABIFREEBSD. I plan to push this change in FreeBSD one day, which, unfortunately, is not today. This code patches lld so it sets the header field correctly. For completeness, the rationale of this change is explained in the FreeBSD commit message, and it's apparently to pleasee binutils maintainers at the time. https://svnweb.freebsd.org/base?view=revision&revision=59342 Differential Revision: http://reviews.llvm.org/D13140 llvm-svn: 248554
* AMDGPU: Remove unused includesMatt Arsenault2015-09-251-6/+0
| | | | llvm-svn: 248553
* [LangRef] Unbreak the docs Sphinx build.Sanjoy Das2015-09-251-2/+2
| | | | | | | r248551 introduced some breakage due to incorrectly terminated ``literals`` s. llvm-svn: 248552
* [Bitcode][Asm] Teach LLVM to read and write operand bundles.Sanjoy Das2015-09-2410-14/+650
| | | | | | | | | | | | | | | | | | Summary: This also adds the first set of tests for operand bundles. The optimizer has not been audited to ensure that it does the right thing with operand bundles. Depends on D12456. Reviewers: reames, chandlerc, majnemer, dexonsmith, kmod, JosephTremoulet, rnk, bogner Subscribers: maksfb, llvm-commits Differential Revision: http://reviews.llvm.org/D12457 llvm-svn: 248551
* Restore test coverage for other than ELFOSABI_NONEEd Maste2015-09-241-1/+3
| | | | | | | | | Add a FreeBSD test to restore testing of ELF OSABI other than ELFOSABI_NONE after r248534. Differential Revision: http://reviews.llvm.org/D13146 llvm-svn: 248550
* Fix typoMatt Arsenault2015-09-241-1/+1
| | | | llvm-svn: 248549
* [CMake] [darwin] [cc_kext] In addition to builtin sources the cc_kext ↵Chris Bieneman2015-09-241-3/+6
| | | | | | builtins include some functions from clang_rt.profile. llvm-svn: 248548
* [TestCppIncompleteTypes] Handle different archs when building a.o.Siva Chandra2015-09-241-1/+1
| | | | | | | | | | Reviewers: chying Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13147 llvm-svn: 248547
* This patch adds missing pieces to clang, including the PS4 toolchainEkaterina Romanova2015-09-2418-8/+731
| | | | | | | | | | | definition, added warnings, PS4 defaults, and Driver changes needed for our compiler. A patch by Filipe Cabecinhas, Pierre Gousseau and Katya Romanova! Differential Revision: http://reviews.llvm.org/D11279 llvm-svn: 248546
* Fix tests on cmake-based OS X after rL248338Todd Fiala2015-09-241-0/+37
| | | | | | | | | | | | | | | See: https://llvm.org/bugs/show_bug.cgi?id=24926 for details. On OS X, when LLDB.framework is not part of the lldb.dylib path, the supporting executable path is resolved to be the bin directory sitting next to the lib directory with the dylib lives. Not a perfect solution, but we also can't base it on the executable path since both Python and the lldb driver can be the executable. llvm-svn: 248545
* [CMake] Move LLD to the new style for symlink generation, and make the links ↵Chris Bieneman2015-09-241-12/+7
| | | | | | | | | | | | list overridable. Reviewers: lhames, rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13136 llvm-svn: 248544
* [CMake] [darwin] [builtins] Refactoring darwin_find_excluded_builtins_list ↵Chris Bieneman2015-09-241-21/+36
| | | | | | | | to parse arguments instead of only handling positional arguments. OS and ARCH must be specified, but minimum version may not. Excluding the minimum version will only apply the filters for builtins not supported by the OS and OS-Arch pair. llvm-svn: 248543
* [CMake] [darwin] [builtins] Refactoring code to filter builtin lists out ↵Chris Bieneman2015-09-241-15/+22
| | | | | | into a function. NFC. llvm-svn: 248542
* [TestCppIncompleteTypes] Remove the dependence on std::string.Siva Chandra2015-09-247-26/+45
| | | | | | | | | | Reviewers: dblaikie, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13143 llvm-svn: 248541
* [AArch64] Improve the readability of the ld/st optimization pass. NFC.Chad Rosier2015-09-241-4/+4
| | | | | | In this context, MI is an add/sub instruction not a loads/store. llvm-svn: 248540
* Move the darwin define static function to be close to the OS define.Eric Christopher2015-09-241-24/+23
| | | | llvm-svn: 248539
* Use just one larger anonymous namespace instead of a lot of smaller ones.Eric Christopher2015-09-241-15/+0
| | | | llvm-svn: 248538
* fix typos; NFCSanjay Patel2015-09-241-3/+3
| | | | llvm-svn: 248537
* [X86][SSE2] Fix zero/any extension shuffles that don't start from the first ↵Simon Pilgrim2015-09-242-7/+9
| | | | | | | | element Fix for D12561 - we weren't correctly ensuring that the base element for extension was moved to start on a boundary suitable for UNPCKL/H llvm-svn: 248536
* Handle read-only scalars used in PHI-nodes correctlyTobias Grosser2015-09-243-1/+96
| | | | | | | | | | | | | | | | | | This change addresses three issues: - Read only scalars that enter a PHI node through an edge that comes from outside the scop are not modeled any more, as such PHI nodes will always be initialized to this initial value right before the SCoP is entered. - For PHI nodes that depend on a scalar value that is defined outside the scop, but where the scalar values is passed through an edge that itself comes from a BB that is part of the region, we introduce in this basic block a read of the out-of-scop value to ensure it's value is available to write it into the PHI alloc location. - Read only uses of scalars by PHI nodes are ignored in the general read only handling code, as they are taken care of by the general PHI node modeling code. llvm-svn: 248535
* Use ELFOSABI_NONE instead of ELFOSABI_LINUX.Rafael Espindola2015-09-243-7/+4
| | | | | | | | | | | | The doesn't seem to be a difference and ELFOSABI_NONE seems to be far more common: * Linux doesn't care when loading and puts ELFOSABI_NONE on core dumps. * Gold and bfd ld produce files with ELFOSABI_NONE. * Gold and bfd ld seems to ignore EI_OSABI other than for freebsd. * Gas puts ELFOSABI_NONE in most .o files. llvm-svn: 248534
* AMDGPU: Add s_dcache_* instructionsMatt Arsenault2015-09-2412-14/+218
| | | | llvm-svn: 248533
* AMDGPU: Add cache invalidation instructions.Matt Arsenault2015-09-249-6/+127
| | | | | | | | | | These are necessary for implementing mem_fence for OpenCL 2.0. The VI assembler tests are disabled since it seems to be using the wrong encoding or opcode. llvm-svn: 248532
* AMDGPU: Run mubuf assembler test for CIMatt Arsenault2015-09-241-102/+102
| | | | llvm-svn: 248531
* [autoconf] Fixing a bug I introduced r248441Chris Bieneman2015-09-241-4/+4
| | | | llvm-svn: 248529
* [AArch64] The paired post-increment store instruction has an output register.Chad Rosier2015-09-241-2/+2
| | | | | | | | The pre- and post-increment version update the base register, but the post- version was defined incorrectly. There is no test case as we don't currently generate these instructions, but I plan on changing that in the near future. llvm-svn: 248528
* [IR] Add operand bundles to CallInst and InvokeInst.Sanjoy Das2015-09-2410-74/+483
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This change teaches `CallInst`s and `InvokeInst`s to maintain a set of operand bundles as part of its operands. `CallInst`s and `InvokeInst`s with operand bundles co-allocate some space before their `Use` array to hold meta information about which of its operands are part of an operand bundle. The strings corresponding to the bundle tags are interned into `LLVMContextImpl::BundleTagCache` This change does not include any parsing / bitcode support. That's the next change. Depends on D12455. Reviewers: reames, chandlerc, majnemer, dexonsmith, kmod, JosephTremoulet, rnk, bogner Subscribers: MatzeB, sanjoy, llvm-commits Differential Revision: http://reviews.llvm.org/D12456 llvm-svn: 248527
* COFF: Remove duplicate parameter from hash value calculation.Rui Ueyama2015-09-241-1/+0
| | | | llvm-svn: 248526
* Fix memory leak in FileArchive::find().Rui Ueyama2015-09-242-4/+17
| | | | | | Patch from George Rimar! llvm-svn: 248525
* [ELF2] Output of all unknown arguments instead of only one.Rui Ueyama2015-09-243-2/+11
| | | | | | Patch from George Rimar! llvm-svn: 248524
* [CMake] [darwin] [builtins] Match clang_darwin.mk's compiler flags when ↵Chris Bieneman2015-09-241-2/+14
| | | | | | | | building builtin libraries On Darwin we have a very restrictive set of flags used when building the builtins. This change makes CMake match autoconf. llvm-svn: 248523
* tsan: add test for issue #602Dmitry Vyukov2015-09-241-0/+28
| | | | llvm-svn: 248522
* Recommit r248154: [ARM] Handle DSP feature as an ArchExtKindArtyom Skrobov2015-09-242-22/+22
| | | | | | | | | | | | | | | | Currently, the availability of DSP instructions (ACLE 6.4.7) is handled in a hand-rolled tricky condition block in lib/Basic/Targets.cpp, with a FIXME: attached. http://reviews.llvm.org/D12937 moved the handling of the DSP feature over to ARMTargetParser.def in LLVM, to be in line with other architecture extensions. This is the corresponding patch to clang, to clear the FIXME: and update the tests. Differential Revision: http://reviews.llvm.org/D12938 llvm-svn: 248521
* Fix comparison signed/unsigned mismatch warning; NFCMichael Kruse2015-09-241-1/+1
| | | | llvm-svn: 248520
* [ARM] Handle +t2dsp feature as an ArchExtKind in ARMTargetParser.defArtyom Skrobov2015-09-2415-116/+113
| | | | | | | | | | | | | | | | | | Currently, the availability of DSP instructions (ACLE 6.4.7) is handled in a hand-rolled tricky condition block in tools/clang/lib/Basic/Targets.cpp, with a FIXME: attached. This patch changes the handling of +t2dsp to be in line with other architecture extensions. Following a revert of r248152 and new review comments, this patch also includes renaming FeatureDSPThumb2 -> FeatureDSP, hasThumb2DSP() -> hasDSP(), etc. The spelling of "t2dsp" is preserved, pending a further investigation of its possible external usage. Differential Revision: http://reviews.llvm.org/D12937 llvm-svn: 248519
* Enable SafeStack on all Linux platforms.Evgeniy Stepanov2015-09-242-1/+3
| | | | llvm-svn: 248518
* Add NamingStyle option to modernize-loop-convert.Angel Garcia Gomez2015-09-2412-842/+1146
| | | | | | | | | | | | Summary: Add an option to specify wich style must be followed when choosing the new index name. Reviewers: alexfh Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D13052 llvm-svn: 248517
* [analyzer] When memcpy'ing into a fixed-size array, do not invalidate entire ↵Devin Coughlin2015-09-244-11/+1096
| | | | | | | | | | | | | | | | | | | | region. Change the analyzer's modeling of memcpy to be more precise when copying into fixed-size array fields. With this change, instead of invalidating the entire containing region the analyzer now invalidates only offsets for the array itself when it can show that the memcpy stays within the bounds of the array. This addresses false positive memory leak warnings of the kind reported by krzysztof in https://llvm.org/bugs/show_bug.cgi?id=22954 (This is the second attempt, now with assertion failures resolved.) A patch by Pierre Gousseau! Differential Revision: http://reviews.llvm.org/D12571 llvm-svn: 248516
* [CMake] pass -Wno-pedantic to cc_kext builtins buildChris Bieneman2015-09-241-1/+1
| | | | | | | | | | We don't pass -pedantic to the builtin builds in the makefiles, so we shouldn't do it here. This is a temporary fix for the broken bot: http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA_build/7526/warnings8Result/new/ A more correct solution is in the works. llvm-svn: 248515
* Be consistent in the way we define 32/64-bit arches in ALL_*_SUPPORTED_ARCH ↵Vasileios Kalintiris2015-09-241-14/+19
| | | | | | | | | | | | variables. NFC. Reviewers: samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13095 llvm-svn: 248514
* Don't enter interactive loop when finished running the test suite.Greg Clayton2015-09-241-1/+1
| | | | llvm-svn: 248513
OpenPOWER on IntegriCloud