summaryrefslogtreecommitdiffstats
path: root/llvm/utils
Commit message (Collapse)AuthorAgeFilesLines
...
* llvm.vim: 'musttail' is a keyword tooJonathan Roelofs2015-09-031-1/+1
| | | | llvm-svn: 246798
* [lit] Add basic flaky test retry functionalityReid Kleckner2015-09-023-2/+16
| | | | | | | | | | The plan is to use this for the sanitizer test suite on Windows. See PR24554 for more details on why we need this. Tested manually by injecting rand() into a sanitizer test and watching what it does. llvm-svn: 246704
* [TableGen] Allow TokenTy in intrinsic signaturesJoseph Tremoulet2015-09-022-16/+19
| | | | | | | | | | | | | | | | | Summary: Add the necessary plumbing so that llvm_token_ty can be used as an argument/return type in intrinsic definitions and correspondingly require TokenTy in function types. TokenTy is an opaque type that has no target lowering, but can be used in machine-independent intrinsics. It is required for the upcoming llvm.eh.padparam intrinsic. Reviewers: majnemer, rnk Subscribers: stoklund, llvm-commits Differential Revision: http://reviews.llvm.org/D12532 llvm-svn: 246651
* Revert "[lit] Speculatively fix PR24554 by manually closing the process handle"Reid Kleckner2015-08-311-3/+0
| | | | | | | | This reverts commit r245946. It didn't help the problem: http://lab.llvm.org:8011/builders/sanitizer-windows/builds/9179/steps/run%20tests/logs/stdio LINK : fatal error LNK1104: cannot open file llvm-svn: 246491
* lit: Match UNSUPPORTED against target triple as we do for XFAIL.Peter Collingbourne2015-08-281-0/+7
| | | | llvm-svn: 246343
* [TableGen][DAGISel] Dedup predicates with same code to run. NFCI.Ahmed Bougacha2015-08-271-4/+25
| | | | | | | | | | | I locally hit the 255 limit, but a lot of these are redundant: each predicate coming from a different record was allocated a new number, even when we already emitted the same code for another predicate. Instead, re-use numbers and emit the predicate code only once. This reduces the total text size of *DAGISel.cpp.o by ~1%. llvm-svn: 246208
* [TableGen] Remove dead code. NFC.Ahmed Bougacha2015-08-271-7/+0
| | | | | | The only user of this was removed in r129670. llvm-svn: 246176
* [lit] Speculatively fix PR24554 by manually closing the process handleReid Kleckner2015-08-251-0/+3
| | | | | | | | | | | My theory is that somehow Python's refcounting and GC strategy isn't closing the subprocess handle in a timely fashion. This accesses the private '_handle' field of the Popen object, but I see no other way to do this. If this doesn't address the problem on the sanitizer-windows buildbot, we can revert this change. If it does, then let's keep the hack. llvm-svn: 245946
* Revert r245355 "Release script: correctly symlink clang-tools-extra into the ↵Hans Wennborg2015-08-241-2/+2
| | | | | | | | build (PR22765)" This worked with the CMake build but broke the Autoconf one. llvm-svn: 245902
* Filter libraries that are not installed out of CMake exports (currentlyDan Liew2015-08-211-5/+12
| | | | | | | | | | | | | | | | gtest and gtest_main) when generating ``Makefile.llvmbuild``. Libraries that are not installed should not be exported because they won't be available from an install tree. Rather than filtering out the gtest libraries in cmake/modules/Makefile, simply teach llvm-build to filter out libraries that will not be installed from its generated list of exported libraries. Note that LLVMBUILD_LIB_DEPS_* are used during our own CMake build process so we cannot filter LLVMBUILD_LIB_DEPS_gtest* out in llvm-build. We must leave this gtest filter logic in cmake/modules/Makefile. llvm-svn: 245718
* llvm-build: Adopt generation of LLVM_LIBS_TO_EXPORT. Patch byDan Liew2015-08-211-2/+16
| | | | | | | | | | | | | | | | | Brad King. Move `LLVM_LIBS_TO_EXPORT` over to Makefile.llvmbuild and generate it from `llvm-build` using the same logic used to export the dependencies of these libraries. This avoids depending on `llvm-config`. This refactoring was originally motivated by issue #24154 due to commit r243297 (Fix `llvm-config` to emit the linker flag for the combined shared object, 2015-07-27) changing the output of `llvm-config --libs` to not have the individual libraries when we configure with `--enable-shared`. That change was reverted by r244108 but this refactoring makes sense on its own anyway. llvm-svn: 245717
* llvm-build: Factor out duplicate cmake export listing. Patch byDan Liew2015-08-211-27/+36
| | | | | | | | | | Brad King. The write_cmake_fragment and write_cmake_exports_fragment methods share some logic for selecting libraries that CMake needs to know about. Factor it out into a helper to avoid duplication. llvm-svn: 245716
* Fix three typos in comments; "easilly" -> "easily".Nick Lewycky2015-08-181-2/+2
| | | | llvm-svn: 245379
* Release script: correctly symlink clang-tools-extra into the build (PR22765)Hans Wennborg2015-08-181-2/+2
| | | | llvm-svn: 245355
* [TableGen] Use range-based for loop.Craig Topper2015-08-161-4/+2
| | | | llvm-svn: 245191
* [TableGen] Move the ConversionRow vector into the ConversionTable instead of ↵Craig Topper2015-08-161-1/+1
| | | | | | copying. llvm-svn: 245190
* Remove and forbid raw_svector_ostream::flush() calls.Yaron Keren2015-08-132-5/+0
| | | | | | | | | | After r244870 flush() will only compare two null pointers and return, doing nothing but wasting run time. The call is not required any more as the stream and its SmallString are always in sync. Thanks to David Blaikie for reviewing. llvm-svn: 244928
* Emit argmemonly attribute for intrinsics.Igor Laevsky2015-08-132-35/+26
| | | | | | Differential Revision: http://reviews.llvm.org/D11352 llvm-svn: 244920
* Remove raw_svector_ostream::resync and users. It's no-op after r244870.Yaron Keren2015-08-131-2/+0
| | | | llvm-svn: 244888
* Explicitly clear the MI operand list when getInstruction() is called. Call ↵Cameron Esfahani2015-08-111-0/+1
| | | | | | | | | | | | | | MI.clear() within MCD::OPC_Decode case and inside of translateInstruction() for the X86 target. Remove now unnecessary MI.clear() from ARMDisassembler. Summary: Explicitly clear the MI operand list when getInstruction() is called. Reviewers: hfinkel, t.p.northover, hvarga, kparzysz, jyknight, qcolombet, uweigand Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11665 llvm-svn: 244557
* [TableGen] NFC improving comments about what the tokenized identifiers will ↵Colin LeMahieu2015-08-101-1/+2
| | | | | | contain. llvm-svn: 244493
* Fix memory leaks by avoiding extra manual dynamic allocationDavid Blaikie2015-08-061-57/+41
| | | | | | Improvement to r244212. llvm-svn: 244252
* Plug memory leaks in AsmWriterEmitter::EmitPrintAliasInstruction.Yaron Keren2015-08-061-0/+8
| | | | llvm-svn: 244212
* test-release.sh: Fix naming of OpenMP runtime tarballHans Wennborg2015-08-051-1/+6
| | | | llvm-svn: 244058
* Rename all references to old mailing lists to new lists.llvm.org address.Tanya Lattner2015-08-055-5/+5
| | | | llvm-svn: 243999
* Add a -revert option to utils/release/merge.shHans Wennborg2015-08-041-4/+19
| | | | llvm-svn: 243929
* [Release Script] Check for correct symlink nameRenato Golin2015-08-031-1/+1
| | | | | | | | | While checking for the existence of the clang-tools-extra directory, the script was not checking for its destination name, "extra", and the script was failing when re-running without checking out new sources. llvm-svn: 243898
* -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are ↵David Blaikie2015-08-011-0/+14
| | | | | | deprecated in C++11 llvm-svn: 243816
* Fix TableGen code generation for ReadNone attribute.Eric Christopher2015-07-301-1/+1
| | | | | | Patch by Pete Abred! llvm-svn: 243689
* [test-release.sh] Add -no-libunwind to disable it on targets that don't ↵Daniel Sanders2015-07-301-1/+9
| | | | | | | | | | | | | | | | support it. Summary: Mips doesn't implement unw_getcontext() or libunwind::Registers_*::jumpto() yet so we must disable libunwind for this release. Reviewers: hans Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11563 llvm-svn: 243633
* test-release.sh: Add option for building the OpenMP run-timeHans Wennborg2015-07-291-1/+48
| | | | | | | | | | This isn't part of the official release process, but provides a convenient way to build binaries for those who want to experiment with it. Hopefully the run- time can be part of the regular build and release process for 3.8. Differential Revision: http://reviews.llvm.org/D11494 llvm-svn: 243531
* test-release.sh: Defer test errors until the endHans Wennborg2015-07-241-4/+27
| | | | | | | | | | | | | This makes the script run to the end and produce tarballs even on test failures, and then highlights any errors afterwards. (I first tried just storing the errors in a global variable, but that didn't work as the "test_llvmCore" function invocation is actually running as a sub-shell.) Differential Revision: http://reviews.llvm.org/D11478 llvm-svn: 243116
* [PM/AA] Extract the ModRef enums from the AliasAnalysis class inChandler Carruth2015-07-221-7/+8
| | | | | | | | | | | | | | | | | | | | | | | preparation for de-coupling the AA implementations. In order to do this, they had to become fake-scoped using the traditional LLVM pattern of a leading initialism. These can't be actual scoped enumerations because they're bitfields and thus inherently we use them as integers. I've also renamed the behavior enums that are specific to reasoning about the mod/ref behavior of functions when called. This makes it more clear that they have a very narrow domain of applicability. I think there is a significantly cleaner API for all of this, but I don't want to try to do really substantive changes for now, I just want to refactor the things away from analysis groups so I'm preserving the exact original design and just cleaning up the names, style, and lifting out of the class. Differential Revision: http://reviews.llvm.org/D10564 llvm-svn: 242963
* [lit] Fix launching executables relative to the cwd after 'cd'Reid Kleckner2015-07-221-1/+8
| | | | | | | | | | | | | | This was affecting test/asan/TestCases/Windows/coverage-basic.cc in compiler-rt. It does something like: cd %T/mydir %clang %s -o t.exe ./t.exe Previously, we'd end up looking for t.exe relative to the cwd of the lit process, not the cwd of the test. llvm-svn: 242941
* [Release] Allow release testers to disable certain componentsRenato Golin2015-07-221-7/+36
| | | | | | | | | | | Not all components build correctly on all targets and the release script had no way to disable them other than editing the script locally. This change provides a way to disable the test-suite, compiler-rt and the libraries, as well as allowing you to re-run on the same directory without checking out all sources again. llvm-svn: 242919
* [LIT] Fix discovery.py test once againEric Fiselier2015-07-211-4/+4
| | | | llvm-svn: 242758
* Targets: commonize some stack realignment codeJF Bastien2015-07-201-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does the following: * Fix FIXME on `needsStackRealignment`: it is now shared between multiple targets, implemented in `TargetRegisterInfo`, and isn't `virtual` anymore. This will break out-of-tree targets, silently if they used `virtual` and with a build error if they used `override`. * Factor out `canRealignStack` as a `virtual` function on `TargetRegisterInfo`, by default only looks for the `no-realign-stack` function attribute. Multiple targets duplicated the same `needsStackRealignment` code: - Aarch64. - ARM. - Mips almost: had extra `DEBUG` diagnostic, which the default implementation now has. - PowerPC. - WebAssembly. - x86 almost: has an extra `-force-align-stack` option, which the default implementation now has. The default implementation of `needsStackRealignment` used to just return `false`. My current patch changes the behavior by simply using the above shared behavior. This affects: - AMDGPU - BPF - CppBackend - MSP430 - NVPTX - Sparc - SystemZ - XCore - Out-of-tree targets This is a breaking change! `make check` passes. The only implementation of the `virtual` function (besides the slight different in x86) was Hexagon (which did `MF.getFrameInfo()->getMaxAlignment() > 8`), and potentially some out-of-tree targets. Hexagon now uses the default implementation. `needsStackRealignment` was being overwritten in `<Target>GenRegisterInfo.inc`, to return `false` as the default also did. That was odd and is now gone. Reviewers: sunfish Subscribers: aemerson, llvm-commits, jfb Differential Revision: http://reviews.llvm.org/D11160 llvm-svn: 242727
* Avoid early pipefail exits due to grep failures in stage comparisons.Dimitry Andric2015-07-201-4/+6
| | | | | | | | If objects or executables did not contain any RPATH, grep would return nonzero, and the whole stage comparison loop would unexpectedly exit. Fix this by checking the grep result explicitly. llvm-svn: 242722
* Since BSD cmp(1) does not support the --ignore-initial option, use theDimitry Andric2015-07-201-2/+2
| | | | | | | more portable 3rd and 4th arguments to skip the first 16 bytes during the comparison of Phase2 and Phase3 objects. llvm-svn: 242721
* test-release.sh: don't include /usr/local prefix in the tarballHans Wennborg2015-07-201-2/+2
| | | | llvm-svn: 242706
* [lit] Implement 'env' in the internal shellReid Kleckner2015-07-201-7/+28
| | | | | | | | | | | | | | | | | | | | The MSys 2 version of 'env' cannot be used to set 'TZ' in the environment due to some portability hacks in the process spawning compatibility layer[1]. This affects test/Object/archive-toc.test, which tries to set TZ in the environment. Other than that, this saves a subprocess invocation of a small unix utility, which is makes the tests faster. The internal shell does not support shell variable expansion, so this idiom in the ASan tests isn't supported yet: RUN: env ASAN_OPTIONS=$ASAN_OPTIONS:opt=1 ... [1] https://github.com/Alexpux/MSYS2-packages/issues/294 Differential Revision: http://reviews.llvm.org/D11350 llvm-svn: 242696
* [LIT] Allow for executeCommand to take the stdin input.Eric Fiselier2015-07-191-3/+3
| | | | | | | | | | | | Summary: This patch allows executeCommand to pass a string to the processes stdin. Reviewers: ddunbar, jroelofs Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11332 llvm-svn: 242631
* Add libunwind to the release scriptsHans Wennborg2015-07-173-3/+7
| | | | llvm-svn: 242543
* test-release.sh: Add ability to do a test build using the trunk or branches.Daniel Sanders2015-07-171-3/+19
| | | | | | | | | | | | | | | | | | | | | Summary: Adds '--svn-path BRANCH' that causes the script to export the specified path from each project. Otherwise the tag specified by -release, -rc, etc. will be used. The version portion of the package name will be 'test-$path' (any forward slashes in the branch name are replaced with underscores), for example: -svn-path trunk => clang+llvm-test-trunk-mips-linux-gnu.tar.xz -svn-path branches/release_35 => clang+llvm-test-branches_release_35-mips-linux-gnu.tar.xz This is primarily useful for bringing new release packages up to standard without needing to create and maintain a tag for the purpose. Reviewers: tstellarAMD, hans Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6563 llvm-svn: 242518
* Move most user of TargetMachine::getDataLayout to the Module oneMehdi Amini2015-07-161-4/+4
| | | | | | | | | | | | | | | | | | | | | Summary: This change is part of a series of commits dedicated to have a single DataLayout during compilation by using always the one owned by the module. This patch is quite boring overall, except for some uglyness in ASMPrinter which has a getDataLayout function but has some clients that use it without a Module (llmv-dsymutil, llvm-dwarfdump), so some methods are taking a DataLayout as parameter. Reviewers: echristo Subscribers: yaron.keren, rafael, llvm-commits, jholewinski Differential Revision: http://reviews.llvm.org/D11090 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 242386
* test-release.sh: Run both .o files through sed before comparing themHans Wennborg2015-07-151-3/+4
| | | | | | | | | | On some systems (e.g. Mac OS X), sed will add a newline to the end of the output if there wasn't one already. This would cause false cmp errors since the .o file from Phase 2 was passed through sed and the one from Phase 3 wasn't. Work around this by passing both through sed. llvm-svn: 242341
* Switch the release script to build with CMake by default (PR21561)Hans Wennborg2015-07-151-48/+66
| | | | | | | | | | | | | | | | | | | | It retains the possibility to use the autoconf build with a command-line option ('-use-autoconf'), and uses that by default on Darwin since compiler-rt requires it on that platform. This commit also removes the "Release-64" flavour and related logic. The script would previously do two builds unless the '-no-64bit' flag was passed, but on my machine and from those I asked this always ended up producing two 64-bit builds, causing much confusion. It also removes the -build-triple option, which caused the --build= flag to get passed to ./configure. This was presumably intended for cross-compiling, but none of the release testers use it. If someone does want to pass it, they can use '-configure-flags --build=foo' instead. Differential Revision: http://reviews.llvm.org/D10715 llvm-svn: 242331
* [TableGen] Improve decoding options for non-orthogonal instructionsPetr Pavlu2015-07-152-34/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When FixedLenDecoder matches an input bitpattern of form [01]+ with an instruction bitpattern of form [01?]+ (where 0/1 are static bits and ? are mixed/variable bits) it passes the input bitpattern to a specific instruction decoder method which then makes a final decision whether the bitpattern is a valid instruction or not. This means the decoder must handle all possible values of the variable bits which sometimes leads to opcode rewrites in the decoder method when the instructions are not fully orthogonal. The patch provides a way for the decoder method to say that when it returns Fail it does not necessarily mean the bitpattern is invalid, but rather that the bitpattern is definitely not an instruction that is recognized by the decoder method. The decoder can then try to match the input bitpattern with other possible instruction bitpatterns. For example, this allows to solve a situation on AArch64 where the `MSR (immediate)` instruction has form: 1101 0101 0000 0??? 0100 ???? ???1 1111 but not all values of the ? bits are allowed. The rejected values should be handled by the `extended MSR (register)` instruction: 1101 0101 000? ???? ???? ???? ???? ???? The decoder will first try to decode an input bitpattern that matches both bitpatterns as `MSR (immediate)` but currently this puts the decoder method of `MSR (immediate)` into a situation when it must be able to decode all possible values of the ? bits, i.e. it would need to rewrite the instruction to `MSR (register)` when it is not `MSR (immediate)`. The patch allows to specify that the decoder method cannot determine if the instruction is valid for all variable values. The decoder method can simply return Fail when it knows it is definitely not `MSR (immediate)`. The decoder will then backtrack the decoding and find that it can match the input bitpattern with the more generic `MSR (register)` bitpattern too. Differential Revision: http://reviews.llvm.org/D7174 llvm-svn: 242274
* [vim] Update the syntax to mark REQUIRES lines and not talk aboutChandler Carruth2015-07-151-3/+3
| | | | | | | | | | | dejagnu. I wonder if it would be useful to handle FileCheck prefixes specially? Especially if we could get some error checking. Suggestions welcome. Patches more welcome as I have no idea what I'm doing with vim script.... llvm-svn: 242267
* [vim] Add the IR's comment prefix to the comments list. This allows vimChandler Carruth2015-07-151-0/+1
| | | | | | | | to intelligently wrap prose written in IR comment blocks. This has bothered me for roughly ever, and my fellow IRC denziens convinced me to fix it. llvm-svn: 242266
OpenPOWER on IntegriCloud