aboutsummaryrefslogtreecommitdiff
path: root/utils/lit/TestFormats.py
AgeCommit message (Collapse)Author
2009-12-26lit: Sink code into a 'lit' package.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92168 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15lit: Improve error when gtest discovery fails.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91458 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-18lit: Fix exclude dirs functionality.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89210 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Make X86-64 in the Large model always emit 64-bit calls.Jeffrey Yasskin
The large code model is documented at http://www.x86-64.org/documentation/abi.pdf and says that calls should assume their target doesn't live within the 32-bit pc-relative offset that fits in the call instruction. To do this, we turn off the global-address->target-global-address conversion in X86TargetLowering::LowerCall(). The first attempt at this broke the lazy JIT because it can separate the movabs(imm->reg) from the actual call instruction. The lazy JIT receives the address of the movabs as a relocation and needs to record the return address from the call; and then when that call happens, it needs to patch the movabs with the newly-compiled target. We could thread the call instruction into the relocation and record the movabs<->call mapping explicitly, but that seems to require at least as much new complication in the code generator as this change. To fix this, we make lazy functions _always_ go through a call stub. You'd think we'd only have to force lazy calls through a stub on difficult platforms, but that turns out to break indirect calls through a function pointer. The right fix for that is to distinguish between calls and address-of operations on uncompiled functions, but that's complex enough to leave for someone else to do. Another attempt at this defined a new CALL64i pseudo-instruction, which expanded to a 2-instruction sequence in the assembly output and was special-cased in the X86CodeEmitter's emitInstruction() function. That broke indirect calls in the same way as above. This patch also removes a hack forcing Darwin to the small code model. Without far-call-stubs, the small code model requires things of the JITMemoryManager that the DefaultJITMemoryManager can't provide. Thanks to echristo for lots of testing! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88984 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15lit: Factor a new OneCommandPerFileTest out of SyntaxCheckTest.Daniel Dunbar
- Used for running a single fixed command on a directory of files, with the option of deriving a temporary input file from the test source. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88844 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15Remove duplicate implementation of excludes functionality, and support excludingDaniel Dunbar
dirnames. Also, add support for the 'unsupported' config property. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88838 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-08lit: Drop require_and_and support.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86447 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Teach lit's SyntaxCheckTest two new tricks:Douglas Gregor
- skip .svn directories - add a set of excluded filenames so we can easily skip tests git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86185 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-18Support GoogleTest's "typed tests"Jeffrey Yasskin
(http://code.google.com/p/googletest/wiki/GoogleTestAdvancedGuide#Typed_Tests) in lit.py. These tests have names like "ValueMapTest/0.Iteration", which broke when lit.py os.path.join()ed them onto the path and then assumed it could os.path.split() them back off. This patch shifts path components from the testPath to the testName until the testPath exists. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84387 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-16lit: Add a custom test format for use in clang.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81987 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-14lit: Give test formats control over test discovery.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81751 91177308-0d34-0410-b5e6-96231b3b80d8