aboutsummaryrefslogtreecommitdiffstats
path: root/utils
Commit message (Collapse)AuthorAgeFilesLines
* TableGen/OptParser: When ordering options, make "sentinel" options appear beforeDaniel Dunbar2009-11-191-3/+10
| | | | | | everything else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89368 91177308-0d34-0410-b5e6-96231b3b80d8
* De-bork CMake buildDouglas Gregor2009-11-181-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89272 91177308-0d34-0410-b5e6-96231b3b80d8
* TableGen: Add initial backend for clang Driver's option parsing.Daniel Dunbar2009-11-183-10/+248
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89245 91177308-0d34-0410-b5e6-96231b3b80d8
* lit: Fix exclude dirs functionality.Daniel Dunbar2009-11-181-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89210 91177308-0d34-0410-b5e6-96231b3b80d8
* Make X86-64 in the Large model always emit 64-bit calls.Jeffrey Yasskin2009-11-161-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* lit: Factor a new OneCommandPerFileTest out of SyntaxCheckTest.Daniel Dunbar2009-11-152-12/+42
| | | | | | | - 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
* Remove duplicate implementation of excludes functionality, and support excludingDaniel Dunbar2009-11-151-14/+6
| | | | | | | | 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
* lit: Add --repeat=N option, for running each test N times.Daniel Dunbar2009-11-153-4/+27
| | | | | | - Currently just useful for timing, although it could be extended as one (bad) way to deal with flaky tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88827 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement DISABLE_INLINE for MSVC. This required changing the position in allBenjamin Kramer2009-11-141-5/+4
| | | | | | | forward declaration and patching tblgen to emit it right. Patch by Amine Khaldi! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88798 91177308-0d34-0410-b5e6-96231b3b80d8
* Added getSubRegIndex(A,B) that returns subreg index of A to B. Use it to ↵Evan Cheng2009-11-141-0/+18
| | | | | | replace broken code in VirtRegRewriter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88753 91177308-0d34-0410-b5e6-96231b3b80d8
* Show command-line args and features passed into backend in debug output. ↵Sandeep Patel2009-11-111-0/+4
| | | | | | Approved by Evan Cheng. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86797 91177308-0d34-0410-b5e6-96231b3b80d8
* lit: Add ExampleTests, for testing lit and demonstrating test suite features.Daniel Dunbar2009-11-1026-0/+555
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86654 91177308-0d34-0410-b5e6-96231b3b80d8
* lit: Fix bug in --show-suites which accidentally override the list of tests.Daniel Dunbar2009-11-101-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86653 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a 'zkill' script, which is more-or-less a fancy (although not necessarilyDaniel Dunbar2009-11-081-0/+276
| | | | | | | | | 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. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86484 91177308-0d34-0410-b5e6-96231b3b80d8
* It is invalid to infer the value type from the result #0 of the nodeAnton Korobeynikov2009-11-081-1/+1
| | | | | | since the instruction might use the other result of different type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86462 91177308-0d34-0410-b5e6-96231b3b80d8
* NNT: Remove DejaGNU test from NewNightlyTest reports, this aspect of testing isDaniel Dunbar2009-11-081-73/+6
| | | | | | handled by buildbots now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86454 91177308-0d34-0410-b5e6-96231b3b80d8
* lit: Hardcode whence seek value, os.SEEK_END isn't always available.Daniel Dunbar2009-11-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86449 91177308-0d34-0410-b5e6-96231b3b80d8
* lit: Warn when a test suite contains no tests.Daniel Dunbar2009-11-081-7/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86448 91177308-0d34-0410-b5e6-96231b3b80d8
* lit: Drop require_and_and support.Daniel Dunbar2009-11-082-21/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86447 91177308-0d34-0410-b5e6-96231b3b80d8
* lit: Workaround a Win32/subprocess bug when appending.Daniel Dunbar2009-11-081-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86437 91177308-0d34-0410-b5e6-96231b3b80d8
* lit: Preserve the PATHEXT variable when running subcommands, this is ↵Daniel Dunbar2009-11-081-0/+1
| | | | | | important on Win32 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86436 91177308-0d34-0410-b5e6-96231b3b80d8
* clang++ points out that this is pointless.Chris Lattner2009-11-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86239 91177308-0d34-0410-b5e6-96231b3b80d8
* NewNighlytTest: Fix timestamp format to actually make sense (it was missing ↵Daniel Dunbar2009-11-061-1/+2
| | | | | | the hour). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86229 91177308-0d34-0410-b5e6-96231b3b80d8
* NewNightlyTest: Add -noclean option, which doesn't run 'make clean' before ↵Daniel Dunbar2009-11-061-6/+8
| | | | | | | | building LLVM (for testing). Also, switch to always running 'make clean' in the test-suite directories. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86228 91177308-0d34-0410-b5e6-96231b3b80d8
* NewNightlyTest: Unbreak passing the build directory via a positional argument.Daniel Dunbar2009-11-061-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86227 91177308-0d34-0410-b5e6-96231b3b80d8
* NewNightlyTest: Add -llvmgccdir as alternative to environment variable.Daniel Dunbar2009-11-061-8/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86226 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't print a redundant tab for inline asm, and do use the new printKill.Dan Gohman2009-11-061-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86206 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach lit's SyntaxCheckTest two new tricks:Douglas Gregor2009-11-051-1/+16
| | | | | | | | | - 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
* lit: Add --param NAME=VALUE option, for test suite specific use (to communicateDaniel Dunbar2009-11-052-2/+18
| | | | | | arbitrary command line arguments to the test suite). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86137 91177308-0d34-0410-b5e6-96231b3b80d8
* Look for llvm-gcc under /Developer/usr/bin first.Evan Cheng2009-11-041-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86023 91177308-0d34-0410-b5e6-96231b3b80d8
* Use llvm-gcc on newer Darwins.Bill Wendling2009-11-031-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85963 91177308-0d34-0410-b5e6-96231b3b80d8
* mark some constant global const.Chris Lattner2009-11-031-7/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85910 91177308-0d34-0410-b5e6-96231b3b80d8
* lit: Update Clang's test style to use XFAIL: and XTARGET: lines that matchDaniel Dunbar2009-11-031-24/+26
| | | | | | LLVM's tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85882 91177308-0d34-0410-b5e6-96231b3b80d8
* Support updating 'llvm_add_target' lists as well.Ted Kremenek2009-11-031-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85860 91177308-0d34-0410-b5e6-96231b3b80d8
* Missing bit of universal built + hostedJim Grosbach2009-11-021-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85785 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not infer the target type for COPY_TO_REGCLASS from dest regclass, this ↵Anton Korobeynikov2009-11-021-1/+0
| | | | | | | | 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! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85766 91177308-0d34-0410-b5e6-96231b3b80d8
* The universal SDKROOT should only be assigned when hosted. Otherwise theJim Grosbach2009-10-311-0/+1
| | | | | | SDKROOT can refer to the target when we're building for the host. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85672 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow cross target buildJim Grosbach2009-10-301-18/+67
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85611 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial target-independent CodeGen support for BlockAddresses.Dan Gohman2009-10-301-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85556 91177308-0d34-0410-b5e6-96231b3b80d8
* Move some code from being emitted as boilerplate duplicated in everyDan Gohman2009-10-291-58/+0
| | | | | | | *ISelDAGToDAG.cpp to being regular code in SelectionDAGISel.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85530 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename usesCustomDAGSchedInserter to usesCustomInserter, and update aDan Gohman2009-10-294-5/+4
| | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85517 91177308-0d34-0410-b5e6-96231b3b80d8
* Sorry to break the build.Johnny Chen2009-10-291-1158/+0
| | | | | | | | I was trying to check the WIP file to some local repository, but ended up checking in the llvm repository. Oops! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85470 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor tweak to forgo the the curly braces for most case blocks, except whenJohnny Chen2009-10-291-0/+1158
| | | | | | | declaring local variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85467 91177308-0d34-0410-b5e6-96231b3b80d8
* Add indirectbr and blockaddress to the vim syntax highlighting file.Dan Gohman2009-10-291-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85451 91177308-0d34-0410-b5e6-96231b3b80d8
* 80-col violation.Mikhail Glushenkov2009-10-271-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85215 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove / use flags that are now set in the Makefile.config.Julien Lerouge2009-10-262-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85149 91177308-0d34-0410-b5e6-96231b3b80d8
* Move DataTypes.h to include/llvm/System, update all users. This breaks the lastChandler Carruth2009-10-263-3/+3
| | | | | | | direct inclusion edge from System to Support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8
* lit: Add --config-prefix option, to override default config file names.Daniel Dunbar2009-10-251-7/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85035 91177308-0d34-0410-b5e6-96231b3b80d8
* lit: Allow use of /dev/null in redirects on Windows (replace by a temporaryDaniel Dunbar2009-10-251-1/+8
| | | | | | file). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85028 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete a spurious semicolon.Dan Gohman2009-10-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85018 91177308-0d34-0410-b5e6-96231b3b80d8