Daniel Dunbar
157d7f6596
lit: Fix exclude dirs functionality.
...
llvm-svn: 89210
2009-11-18 17:42:17 +00:00
Jeffrey Yasskin
0f846dbb3e
Make X86-64 in the Large model always emit 64-bit calls.
...
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!
llvm-svn: 88984
2009-11-16 22:41:33 +00:00
Daniel Dunbar
20a9eda5a2
lit: Factor a new OneCommandPerFileTest out of SyntaxCheckTest.
...
- 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.
llvm-svn: 88844
2009-11-15 08:10:29 +00:00
Daniel Dunbar
b077010494
Remove duplicate implementation of excludes functionality, and support excluding
...
dirnames.
Also, add support for the 'unsupported' config property.
llvm-svn: 88838
2009-11-15 07:22:58 +00:00
Daniel Dunbar
a812eb66b3
lit: Add --repeat=N option, for running each test N times.
...
- Currently just useful for timing, although it could be extended as one (bad) way to deal with flaky tests.
llvm-svn: 88827
2009-11-15 01:02:09 +00:00
Benjamin Kramer
e9ba686ab8
Implement DISABLE_INLINE for MSVC. This required changing the position in all
...
forward declaration and patching tblgen to emit it right. Patch by Amine Khaldi!
llvm-svn: 88798
2009-11-14 16:37:18 +00:00
Evan Cheng
b8c04e1226
Added getSubRegIndex(A,B) that returns subreg index of A to B. Use it to replace broken code in VirtRegRewriter.
...
llvm-svn: 88753
2009-11-14 03:42:17 +00:00
Sandeep Patel
a167903217
Show command-line args and features passed into backend in debug output. Approved by Evan Cheng.
...
llvm-svn: 86797
2009-11-11 03:23:46 +00:00
Daniel Dunbar
fbe1d52c6a
lit: Add ExampleTests, for testing lit and demonstrating test suite features.
...
llvm-svn: 86654
2009-11-10 02:41:17 +00:00
Daniel Dunbar
da307a7868
lit: Fix bug in --show-suites which accidentally override the list of tests.
...
llvm-svn: 86653
2009-11-10 02:40:21 +00:00
Daniel Dunbar
c5f49f8e59
Add a 'zkill' script, which is more-or-less a fancy (although not necessarily
...
very robust) version of killall. Because I like making shiny new wheels out of
spare parts.
For use by buildbots when people insist on making cc1 infinite loop. :)
llvm-svn: 86484
2009-11-08 21:51:53 +00:00
Anton Korobeynikov
7b3a35eee8
It is invalid to infer the value type from the result #0 of the node
...
since the instruction might use the other result of different type.
llvm-svn: 86462
2009-11-08 12:14:54 +00:00
Daniel Dunbar
ec7a3ae5f7
NNT: Remove DejaGNU test from NewNightlyTest reports, this aspect of testing is
...
handled by buildbots now.
llvm-svn: 86454
2009-11-08 09:34:14 +00:00
Daniel Dunbar
d4dcd76f71
lit: Hardcode whence seek value, os.SEEK_END isn't always available.
...
llvm-svn: 86449
2009-11-08 09:07:33 +00:00
Daniel Dunbar
761032e17e
lit: Warn when a test suite contains no tests.
...
llvm-svn: 86448
2009-11-08 09:07:26 +00:00
Daniel Dunbar
642e76ff50
lit: Drop require_and_and support.
...
llvm-svn: 86447
2009-11-08 09:07:13 +00:00
Daniel Dunbar
dedae84dd3
lit: Workaround a Win32/subprocess bug when appending.
...
llvm-svn: 86437
2009-11-08 03:43:06 +00:00
Daniel Dunbar
a8040023d7
lit: Preserve the PATHEXT variable when running subcommands, this is important on Win32
...
llvm-svn: 86436
2009-11-08 03:35:19 +00:00
Chris Lattner
cfd2ade9d2
clang++ points out that this is pointless.
...
llvm-svn: 86239
2009-11-06 06:33:01 +00:00
Daniel Dunbar
7120fca782
NewNighlytTest: Fix timestamp format to actually make sense (it was missing the hour).
...
llvm-svn: 86229
2009-11-06 04:12:13 +00:00
Daniel Dunbar
f575d48158
NewNightlyTest: Add -noclean option, which doesn't run 'make clean' before building LLVM (for testing).
...
Also, switch to always running 'make clean' in the test-suite directories.
llvm-svn: 86228
2009-11-06 04:12:07 +00:00
Daniel Dunbar
1680b4426a
NewNightlyTest: Unbreak passing the build directory via a positional argument.
...
llvm-svn: 86227
2009-11-06 04:12:02 +00:00
Daniel Dunbar
1a83579e17
NewNightlyTest: Add -llvmgccdir as alternative to environment variable.
...
llvm-svn: 86226
2009-11-06 04:11:29 +00:00
Dan Gohman
35331c1dcd
Don't print a redundant tab for inline asm, and do use the new printKill.
...
llvm-svn: 86206
2009-11-06 00:19:43 +00:00
Douglas Gregor
1dc69ca319
Teach lit's SyntaxCheckTest two new tricks:
...
- skip .svn directories
- add a set of excluded filenames so we can easily skip tests
llvm-svn: 86185
2009-11-05 22:58:04 +00:00
Daniel Dunbar
47718a1f47
lit: Add --param NAME=VALUE option, for test suite specific use (to communicate
...
arbitrary command line arguments to the test suite).
llvm-svn: 86137
2009-11-05 16:27:33 +00:00
Evan Cheng
e83f2304f2
Look for llvm-gcc under /Developer/usr/bin first.
...
llvm-svn: 86023
2009-11-04 08:36:50 +00:00
Bill Wendling
eb0ca3bad7
Use llvm-gcc on newer Darwins.
...
llvm-svn: 85963
2009-11-03 22:50:10 +00:00
Chris Lattner
d8b3330ada
mark some constant global const.
...
llvm-svn: 85910
2009-11-03 18:30:31 +00:00
Daniel Dunbar
3d3f9b9c83
lit: Update Clang's test style to use XFAIL: and XTARGET: lines that match
...
LLVM's tests.
llvm-svn: 85882
2009-11-03 07:26:38 +00:00
Ted Kremenek
1489a35df9
Support updating 'llvm_add_target' lists as well.
...
llvm-svn: 85860
2009-11-03 04:06:58 +00:00
Jim Grosbach
104a2c2b79
Missing bit of universal built + hosted
...
llvm-svn: 85785
2009-11-02 03:46:35 +00:00
Anton Korobeynikov
9737bfedeb
Do not infer the target type for COPY_TO_REGCLASS from dest regclass, this won't work if it can contain several types. Require explicit result type for the node for now. This fixes PR5364.
...
PS: It seems that blackfin usage of copy_to_regclass is completely bogus!
llvm-svn: 85766
2009-11-02 00:11:39 +00:00
Jim Grosbach
b95117d568
The universal SDKROOT should only be assigned when hosted. Otherwise the
...
SDKROOT can refer to the target when we're building for the host.
llvm-svn: 85672
2009-10-31 18:00:10 +00:00
Jim Grosbach
16b4042036
Allow cross target build
...
llvm-svn: 85611
2009-10-30 20:54:59 +00:00
Dan Gohman
6b7d1390d7
Initial target-independent CodeGen support for BlockAddresses.
...
llvm-svn: 85556
2009-10-30 01:27:03 +00:00
Dan Gohman
7f5acc4b57
Move some code from being emitted as boilerplate duplicated in every
...
*ISelDAGToDAG.cpp to being regular code in SelectionDAGISel.cpp.
llvm-svn: 85530
2009-10-29 22:30:23 +00:00
Dan Gohman
3393a4c997
Rename usesCustomDAGSchedInserter to usesCustomInserter, and update a
...
bunch of associated comments, because it doesn't have anything to do
with DAGs or scheduling. This is another step in decoupling MachineInstr
emitting from scheduling.
llvm-svn: 85517
2009-10-29 18:10:34 +00:00
Johnny Chen
bcb6d87c9d
Sorry to break the build.
...
I was trying to check the WIP file to some local repository, but ended up
checking in the llvm repository. Oops!
llvm-svn: 85470
2009-10-29 02:04:53 +00:00
Johnny Chen
19209e26ff
Minor tweak to forgo the the curly braces for most case blocks, except when
...
declaring local variables.
llvm-svn: 85467
2009-10-29 01:45:07 +00:00
Dan Gohman
3f9f33080a
Add indirectbr and blockaddress to the vim syntax highlighting file.
...
llvm-svn: 85451
2009-10-29 00:14:44 +00:00
Mikhail Glushenkov
a97449946b
80-col violation.
...
llvm-svn: 85215
2009-10-27 09:02:49 +00:00
Julien Lerouge
d2861eb219
Remove / use flags that are now set in the Makefile.config.
...
llvm-svn: 85149
2009-10-26 20:01:35 +00:00
Chandler Carruth
766362c707
Move DataTypes.h to include/llvm/System, update all users. This breaks the last
...
direct inclusion edge from System to Support.
llvm-svn: 85086
2009-10-26 01:35:46 +00:00
Daniel Dunbar
499815e9f9
lit: Add --config-prefix option, to override default config file names.
...
llvm-svn: 85035
2009-10-25 03:30:55 +00:00
Daniel Dunbar
69b298e1c2
lit: Allow use of /dev/null in redirects on Windows (replace by a temporary
...
file).
llvm-svn: 85028
2009-10-25 01:37:26 +00:00
Dan Gohman
3c62b33053
Delete a spurious semicolon.
...
llvm-svn: 85018
2009-10-24 23:24:45 +00:00
Daniel Dunbar
e66bb298d4
lit: Support '>>' redirections when executing scripts internally.
...
llvm-svn: 85014
2009-10-24 20:32:49 +00:00
Victor Hernandez
e8998896f5
Auto-upgrade free instructions to calls to the builtin free function.
...
Update all analysis passes and transforms to treat free calls just like FreeInst.
Remove RaiseAllocations and all its tests since FreeInst no longer needs to be raised.
llvm-svn: 84987
2009-10-24 04:23:03 +00:00
Stuart Hastings
89d8dc1bde
Trying again to tweak the top-level Makefile to facilitate an Apple-style build.
...
Now with Clang-compatibility.
llvm-svn: 84872
2009-10-22 17:22:37 +00:00