summaryrefslogtreecommitdiffstats
path: root/llvm/test/ExecutionEngine/MCJIT/remote
Commit message (Collapse)AuthorAgeFilesLines
* [CMake] Use normalized Windows target triplesPetr Hosek2018-08-0912-12/+12
| | | | | | | | | | | Changes the default Windows target triple returned by GetHostTriple.cmake from the old environment names (which we wanted to move away from) to newer, normalized ones. This also requires updating all tests to use the new systems names in constraints. Differential Revision: https://reviews.llvm.org/D47381 llvm-svn: 339307
* Don't try to run MCJIT/OrcJIT EH tests when C++ library is statically linkedPetr Hosek2018-01-081-0/+1
| | | | | | | | | | | | | These tests assumes availability of external symbols provided by the C++ library, but those won't be available in case when the C++ library is statically linked because lli itself doesn't need these. This uses llvm-readobj -needed-libs to check if C++ library is linked as shared library and exposes that information as a feature to lit. Differential Revision: https://reviews.llvm.org/D41272 llvm-svn: 321981
* [RuntimeDyld] Revert r279182 and 279201 -- they broke some ARM bots.Lang Hames2016-08-192-2/+2
| | | | llvm-svn: 279275
* [RuntimeDyld][MCJIT] Un-XFAIL some tests that were fixed by r279182.Lang Hames2016-08-192-2/+2
| | | | llvm-svn: 279201
* [powerpc] mark JIT tests as UNSUPPORTED on powerpc64 big endianBill Seurer2016-04-2612-24/+36
| | | | | | | | | | | | | Some of the JIT tests began failing with "[llvm] r266663 - [Orc] Re-commit r266581 with fixes for MSVC, and format cleanups." on powerpc64 big endian. To get the buildbots running I am marking these as UNSUPPORTED for now. If this is fixed remove the UNSUPPORTED flag "powerpc64-unknown-linux-gnu". In r267516 I marked these as XFAIL but they succeed on some of the bots on stage1. llvm-svn: 267518
* [powerpc] mark JIT tests as XFAIL on powerpc64 big endianBill Seurer2016-04-2612-12/+24
| | | | | | | | | | Some of the JIT tests began failing with "[llvm] r266663 - [Orc] Re-commit r266581 with fixes for MSVC, and format cleanups." on powerpc64 big endian. To get the buildbots running I am marking these as XFAIL for now. If this is fixed remove the XFAIL flag "powerpc64-unknown-linux-gnu". llvm-svn: 267516
* Remove some stale comments and fix a typo as suggested by David Blaikie in hisLang Hames2016-01-171-1/+0
| | | | | | | | review of r257343. Thanks Dave! llvm-svn: 258002
* [Orc] Add support for EH-frame registration to the Orc Remote Target utilityLang Hames2016-01-141-0/+32
| | | | | | | | | classes. OrcRemoteTargetClient::RCMemoryManager will now register EH frames with the server automatically. This allows remote-execution of code that uses exceptions. llvm-svn: 257816
* Mark remote-JIT tests as XFAIL, as well as win32, for targeting mingw32.NAKAMURA Takumi2016-01-1411-11/+11
| | | | llvm-svn: 257732
* [Orc] XFAIL a few remote-jit test cases that I missed in r257391.Lang Hames2016-01-111-1/+1
| | | | llvm-svn: 257419
* XFAIL the LLI remote JIT tests on Win32.Lang Hames2016-01-1110-1/+10
| | | | llvm-svn: 257391
* Remove the remote-JIT small code model tests for now. They're causingLang Hames2016-01-112-24/+0
| | | | | | | | | intermittent XPASSes on some builders. These can be reinstated when we have proper support for small-code model in the JIT. llvm-svn: 257359
* XFAIL the remote small code model tests on x86. Small code model is not properlyLang Hames2016-01-112-2/+2
| | | | | | | supported, and only worked previously because we weren't really running them out-of-process. llvm-svn: 257355
* [LLI] Replace the LLI remote-JIT support with the new ORC remote-JIT components.Lang Hames2016-01-113-3/+4
| | | | | | | | The new ORC remote-JITing support provides a superset of the old code's functionality, so we can replace the old stuff. As a bonus, a couple of previously XFAILed tests have started passing. llvm-svn: 257343
* [Mips64] Add support for MCJIT for MIPS64r2 and MIPS64r6Petar Jovanovic2015-05-284-4/+4
| | | | | | | | | | Add support for resolving MIPS64r2 and MIPS64r6 relocations in MCJIT. Patch by Vladimir Radosavljevic. Differential Revision: http://reviews.llvm.org/D9667 llvm-svn: 238424
* [opaque pointer type] Add textual IR support for explicit type parameter to ↵David Blaikie2015-03-135-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gep operator Similar to gep (r230786) and load (r230794) changes. Similar migration script can be used to update test cases, which successfully migrated all of LLVM and Polly, but about 4 test cases needed manually changes in Clang. (this script will read the contents of stdin and massage it into stdout - wrap it in the 'apply.sh' script shown in previous commits + xargs to apply it over a large set of test cases) import fileinput import sys import re rep = re.compile(r"(getelementptr(?:\s+inbounds)?\s*\()((<\d*\s+x\s+)?([^@]*?)(|\s*addrspace\(\d+\))\s*\*(?(3)>)\s*)(?=$|%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|zeroinitializer|<|\[\[[a-zA-Z]|\{\{)", re.MULTILINE | re.DOTALL) def conv(match): line = match.group(1) line += match.group(4) line += ", " line += match.group(2) return line line = sys.stdin.read() off = 0 for match in re.finditer(rep, line): sys.stdout.write(line[off:match.start()]) sys.stdout.write(conv(match)) off = match.end() sys.stdout.write(line[off:]) llvm-svn: 232184
* [opaque pointer type] Add textual IR support for explicit type parameter to ↵David Blaikie2015-02-278-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | load instruction Essentially the same as the GEP change in r230786. A similar migration script can be used to update test cases, though a few more test case improvements/changes were required this time around: (r229269-r229278) import fileinput import sys import re pat = re.compile(r"((?:=|:|^)\s*load (?:atomic )?(?:volatile )?(.*?))(| addrspace\(\d+\) *)\*($| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$)") for line in sys.stdin: sys.stdout.write(re.sub(pat, r"\1, \2\3*\4", line)) Reviewers: rafael, dexonsmith, grosser Differential Revision: http://reviews.llvm.org/D7649 llvm-svn: 230794
* [opaque pointer type] Add textual IR support for explicit type parameter to ↵David Blaikie2015-02-271-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | getelementptr instruction One of several parallel first steps to remove the target type of pointers, replacing them with a single opaque pointer type. This adds an explicit type parameter to the gep instruction so that when the first parameter becomes an opaque pointer type, the type to gep through is still available to the instructions. * This doesn't modify gep operators, only instructions (operators will be handled separately) * Textual IR changes only. Bitcode (including upgrade) and changing the in-memory representation will be in separate changes. * geps of vectors are transformed as: getelementptr <4 x float*> %x, ... ->getelementptr float, <4 x float*> %x, ... Then, once the opaque pointer type is introduced, this will ultimately look like: getelementptr float, <4 x ptr> %x with the unambiguous interpretation that it is a vector of pointers to float. * address spaces remain on the pointer, not the type: getelementptr float addrspace(1)* %x ->getelementptr float, float addrspace(1)* %x Then, eventually: getelementptr float, ptr addrspace(1) %x Importantly, the massive amount of test case churn has been automated by same crappy python code. I had to manually update a few test cases that wouldn't fit the script's model (r228970,r229196,r229197,r229198). The python script just massages stdin and writes the result to stdout, I then wrapped that in a shell script to handle replacing files, then using the usual find+xargs to migrate all the files. update.py: import fileinput import sys import re ibrep = re.compile(r"(^.*?[^%\w]getelementptr inbounds )(((?:<\d* x )?)(.*?)(| addrspace\(\d\)) *\*(|>)(?:$| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$))") normrep = re.compile( r"(^.*?[^%\w]getelementptr )(((?:<\d* x )?)(.*?)(| addrspace\(\d\)) *\*(|>)(?:$| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$))") def conv(match, line): if not match: return line line = match.groups()[0] if len(match.groups()[5]) == 0: line += match.groups()[2] line += match.groups()[3] line += ", " line += match.groups()[1] line += "\n" return line for line in sys.stdin: if line.find("getelementptr ") == line.find("getelementptr inbounds"): if line.find("getelementptr inbounds") != line.find("getelementptr inbounds ("): line = conv(re.match(ibrep, line), line) elif line.find("getelementptr ") != line.find("getelementptr ("): line = conv(re.match(normrep, line), line) sys.stdout.write(line) apply.sh: for name in "$@" do python3 `dirname "$0"`/update.py < "$name" > "$name.tmp" && mv "$name.tmp" "$name" rm -f "$name.tmp" done The actual commands: From llvm/src: find test/ -name *.ll | xargs ./apply.sh From llvm/src/tools/clang: find test/ -name *.mm -o -name *.m -o -name *.cpp -o -name *.c | xargs -I '{}' ../../apply.sh "{}" From llvm/src/tools/polly: find test/ -name *.ll | xargs ./apply.sh After that, check-all (with llvm, clang, clang-tools-extra, lld, compiler-rt, and polly all checked out). The extra 'rm' in the apply.sh script is due to a few files in clang's test suite using interesting unicode stuff that my python script was throwing exceptions on. None of those files needed to be migrated, so it seemed sufficient to ignore those cases. Reviewers: rafael, dexonsmith, grosser Differential Revision: http://reviews.llvm.org/D7636 llvm-svn: 230786
* Reinstate "Nuke the old JIT."Eric Christopher2014-09-0214-14/+14
| | | | | | | | Approved by Jim Grosbach, Lang Hames, Rafael Espindola. This reinstates commits r215111, 215115, 215116, 215117, 215136. llvm-svn: 216982
* Temporarily Revert "Nuke the old JIT." as it's not quite ready toEric Christopher2014-08-0714-14/+14
| | | | | | | | | | | be deleted. This will be reapplied as soon as possible and before the 3.6 branch date at any rate. Approved by Jim Grosbach, Lang Hames, Rafael Espindola. This reverts commits r215111, 215115, 215116, 215117, 215136. llvm-svn: 215154
* Nuke the old JIT.Rafael Espindola2014-08-0714-14/+14
| | | | | | | | | I am sure we will be finding bits and pieces of dead code for years to come, but this is a good start. Thanks to Lang Hames for making MCJIT a good replacement! llvm-svn: 215111
* Enable EHABI by defaultRenato Golin2014-01-299-13/+12
| | | | | | | | | | | | | | | | | | | | | | After all hard work to implement the EHABI and with the test-suite passing, it's time to turn it on by default and allow users to disable it as a work-around while we fix the eventual bugs that show up. This commit also remove the -arm-enable-ehabi-descriptors, since we want the tables to be printed every time the EHABI is turned on for non-Darwin ARM targets. Although MCJIT EHABI is not working yet (needs linking with the right libraries), this commit also fixes some relocations on MCJIT regarding the EH tables/lib calls, and update some tests to avoid using EH tables when none are needed. The EH tests in the test-suite that were previously disabled on ARM now pass with these changes, so a follow-up commit on the test-suite will re-enable them. llvm-svn: 200388
* Re-enabling MCJIT tests on ARMRenato Golin2014-01-251-2/+2
| | | | | | | | | After several refactorings on the MCJIT remote communication, things are finally looking good on Clang-compiled LLVM regarding MCJIT remote tests, so I'm re-enabling them to see how the self-hosting buildbot behaves over a longer period. llvm-svn: 200102
* Eliminate inappropriate use of FindProgramByName() from lliAlp Toker2014-01-2211-11/+11
| | | | llvm-svn: 199835
* Revert 199262 - MCJIT remote still failing on ARMRenato Golin2014-01-151-2/+2
| | | | | | | | Disabling remote MCJIT tests on ARM again, as they're still failing when self-hosting on ARM, despite all my tests. At least now we have more info on what message it's breaking and what is going on. Investigating. llvm-svn: 199310
* Re-disable MCJIT remote tests on ARMRenato Golin2014-01-151-0/+5
| | | | llvm-svn: 199309
* Re-enable remote MCJIT tests on ARMv7Renato Golin2014-01-141-5/+0
| | | | llvm-svn: 199262
* Fix lit config for disabled MCJIT tests on ARMRenato Golin2013-12-031-1/+7
| | | | | | | Separating permanent from temporary targets, added the bug that will fix the temporary (PR18057). llvm-svn: 196274
* Disable Remote MCJIT tests on ARMRenato Golin2013-12-031-2/+1
| | | | | | | | | | The communication protocol is unstable on ARM when compiled with Clang, which is disrupting the self-hosting buildbots that are going to be added this week. I'm working on a solution, but remote MCJIT is not high-priority for ARM at the moment, so it might take a while. llvm-svn: 196257
* [mips] Resolve relocation for the stubs in MCJIT when load address is knownPetar Jovanovic2013-11-197-14/+0
| | | | | | | | | | Instead of processing relocation for branch to stubs right away, emit a modified relocation and add it to queue to be resolved later when final load address is known. This resolves seven MIPS MCJIT issues that were caused by missing relocation fixups at the end. llvm-svn: 195157
* Add XFAIL:arm again on 4 MCJIT tests, since r194558. AArch64 has been left ↵NAKAMURA Takumi2013-11-132-2/+2
| | | | | | | | | | removed. They are failing on clang-native-arm-cortex-a9. Please tweak MCJIT/lit.local.cfg, if this didn't satisfy bots. llvm-svn: 194561
* Remove XFAIL:aarch64,arm from 4 tests in test/ExecutionEngine/MCJIT.NAKAMURA Takumi2013-11-132-2/+2
| | | | | | They are reported as XPASSing. llvm-svn: 194558
* [mips] XFAIL several MCJIT remote testsPetar Jovanovic2013-10-314-0/+8
| | | | | | | | Two of the tests are new test cases (cross-module-a.ll, multi-module-a.ll) not yet supported on MIPS, while XFAIL for the other two tests was accidentally removed in r193570 and this change reverts those lines. llvm-svn: 193781
* Adding a workaround for __main linking with remote lli and Cygwin/MinGWAndrew Kaylor2013-10-298-21/+3
| | | | llvm-svn: 193570
* Renaming MCJIT .ir files to .ll and moving them to InputsAndrew Kaylor2013-10-287-4/+4
| | | | llvm-svn: 193562
* Standardizing lli's extra module command line optionAndrew Kaylor2013-10-284-4/+4
| | | | llvm-svn: 193544
* MCJIT-remote: __main should be resolved in child context.NAKAMURA Takumi2013-10-278-5/+24
| | | | | | | | | | | | | | | - Mark tests as XFAIL:cygming in test/ExecutionEngine/MCJIT/remote. Rather to suppress them, I'd like to leave them running as XFAIL. - Revert r193472. RecordMemoryManager no longer resolves __main on cygming. There are a couple of issues. - X86 Codegen emits "call __main" in @main for targeting cygming. It is useless in JIT. FYI, tests are passing when emitting __main is disabled. - Current remote JIT does not resolve any symbols in child context. FIXME: __main should be disabled, or remote JIT should resolve __main. llvm-svn: 193498
* Fixing problems in lli's RemoteMemoryManager.Andrew Kaylor2013-10-112-2/+4
| | | | | | | | This fixes a problem from a previous check-in where a return value was omitted. Previously the remote/stubs-remote.ll and remote/stubs-sm-pic.ll tests were reporting passes, but they should have been failing. Those tests attempt to link against an external symbol and remote symbol resolution is not supported. The old RemoteMemoryManager implementation resulted in local symbols being used for resolution and the child process crashed but the test didn't notice. With this check-in remote symbol resolution fails, and so the test (correctly) fails. llvm-svn: 192514
* Updating XFAILs for recent GOT testsAndrew Kaylor2013-10-052-0/+2
| | | | llvm-svn: 192022
* Adding tests for multiple GOTs with MCJITAndrew Kaylor2013-10-052-0/+22
| | | | llvm-svn: 192021
* Adding support and tests for multiple module handling in lliAndrew Kaylor2013-10-045-0/+40
| | | | llvm-svn: 191938
* Adding out-of-process execution support to lli.Andrew Kaylor2013-10-027-7/+7
| | | | | | | | At this time only Unix-based systems are supported. Windows has stubs and should re-route to the simulated mode. Thanks to Sriram Murali for contributions to this patch. llvm-svn: 191843
* Fix some more MCJIT PIC test XFAILs (for i386)Andrew Kaylor2013-09-202-2/+2
| | | | | | Patch by Dimitry Andric llvm-svn: 191111
* X86TargetMachine.cpp: Clarify to emit GOT in i686-{cygming|win32}-elf for mcjit.NAKAMURA Takumi2013-08-212-2/+2
| | | | | | I suppose all "lli -use-mcjit i686-*" should require GOT, (and to fail.) llvm-svn: 188856
* Still more MCJIT PIC test XFAILsAndrew Kaylor2013-08-203-3/+3
| | | | llvm-svn: 188815
* Clarifying two MCJIT PIC tests as XFAIL on i686-pc-linuxAndrew Kaylor2013-08-202-2/+2
| | | | llvm-svn: 188814
* Marking two more MCJIT PIC tests as XFAIL on i686Andrew Kaylor2013-08-202-2/+2
| | | | llvm-svn: 188808
* Marking MCJIT PIC tests as XFAIL on AArch64Andrew Kaylor2013-08-203-3/+3
| | | | llvm-svn: 188740
* Fixing XPASSes among MCJIT PIC test on i686Andrew Kaylor2013-08-202-2/+2
| | | | llvm-svn: 188736
* Trying again with PIC tests for MCJITAndrew Kaylor2013-08-193-0/+88
| | | | llvm-svn: 188730
OpenPOWER on IntegriCloud