aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Change the way we choose a free register: instead of picking the firstAlkis Evlogimenos2004-09-021-4/+15
| | | | | | | | free allocatable register, we prefer the a free one with the most uses of inactive intervals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16148 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the way we choose a free register: instead of picking the firstAlkis Evlogimenos2004-09-021-3/+14
| | | | | | | | | | | | | | | | | | | | | | | free allocatable register, we prefer the a free one with the most uses of inactive intervals. This causes less spills and performes a bit better compared to gcc: Program | GCC/LLC (Before)| GCC/LLC (After) 164.gzip/164.gzip | 0.59 | 0.60 175.vpr/175.vpr | 0.57 | 0.58 176.gcc/176.gcc | 0.59 | 0.61 181.mcf/181.mcf | 0.94 | 0.95 186.crafty/186.crafty | 0.62 | 0.62 197.parser/197.parser | 0.89 | 0.88 252.eon/252.eon | 0.61 | 0.66 253.perlbmk/253.perlbmk | 0.79 | 0.84 254.gap/254.gap | 0.81 | 0.81 255.vortex/255.vortex | 0.92 | 0.93 256.bzip2/256.bzip2 | 0.69 | 0.69 300.twolf/300.twolf | 0.91 | 0.90 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16147 91177308-0d34-0410-b5e6-96231b3b80d8
* Added a check for u_int64_t, which is used by Interix.John Criswell2004-09-022-1986/+840
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16145 91177308-0d34-0410-b5e6-96231b3b80d8
* Added u_int64_t because some systems use that instead of uint64_t.John Criswell2004-09-021-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16144 91177308-0d34-0410-b5e6-96231b3b80d8
* We don't need to sort the added vector as unhandled intervals areAlkis Evlogimenos2004-09-021-1/+0
| | | | | | | stored in a binary heap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16143 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert remaining X-Form and Pseudo instructions over to asm writerNate Begeman2004-09-026-119/+91
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16142 91177308-0d34-0410-b5e6-96231b3b80d8
* Pull in definition of std::unary_function.Alkis Evlogimenos2004-09-022-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16140 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak buildBrian Gaeke2004-09-022-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16139 91177308-0d34-0410-b5e6-96231b3b80d8
* Back to compiling land for v8Brian Gaeke2004-09-0210-14/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16138 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes For Bug 352Reid Spencer2004-09-01424-7662/+766
| | | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
* Be a bit more efficient when processing the active and inactiveAlkis Evlogimenos2004-09-012-52/+62
| | | | | | | | | | lists. Instead of scanning the vector backwards, scan it forward and swap each element we want to erase. Then at the end erase all removed intervals at once. This doesn't save much: 0.08s out of 4s when compiling 176.gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16136 91177308-0d34-0410-b5e6-96231b3b80d8
* Give a better assertion if we see a use before a def.Alkis Evlogimenos2004-09-011-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16135 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure <cassert> is included for platforms that don't include it viaReid Spencer2004-09-011-0/+1
| | | | | | | other header files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16134 91177308-0d34-0410-b5e6-96231b3b80d8
* mkdtemp doesn't exist on Cygwin. Use tempnam & mkdir instead.Reid Spencer2004-09-011-5/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16133 91177308-0d34-0410-b5e6-96231b3b80d8
* Make CommandLine prefix error output with the name of the program.Reid Spencer2004-09-011-13/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16129 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial commit for platform independent system configuration support.Reid Spencer2004-08-311-0/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16128 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for FreeBSDReid Spencer2004-08-314-0/+126
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16127 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for Interix and FreeBSDReid Spencer2004-08-316-4/+130
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16126 91177308-0d34-0410-b5e6-96231b3b80d8
* Actually define PreventCoreFiles in the sys namespace.Reid Spencer2004-08-311-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16125 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new abstraction, SysConfig for platform independent systemReid Spencer2004-08-318-0/+200
| | | | | | | | configuration calls. Right now this just contains PreventCoreFiles so that bugpoint can by platform independent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16124 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor code clarity changes.Alkis Evlogimenos2004-08-311-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16123 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a "test" botch.Reid Spencer2004-08-312-82/+125
| | | | | | | | Alphabetize the platform list Install some AC_MSG_CHECKING/AC_MSG_RESULT pairs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16122 91177308-0d34-0410-b5e6-96231b3b80d8
* convert M and MD form instructions to generated asm writerNate Begeman2004-08-312-20/+41
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16121 91177308-0d34-0410-b5e6-96231b3b80d8
* Recognize Interix systems as if they were SunOS and make sure we don'tReid Spencer2004-08-312-28/+48
| | | | | | | attempt to configure for "Unknown" system types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16120 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the GetTemporaryDirectory function from "generic Unix" to platformReid Spencer2004-08-307-24/+100
| | | | | | | specific. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16119 91177308-0d34-0410-b5e6-96231b3b80d8
* Add inclusion of assert.hReid Spencer2004-08-301-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16118 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial commit of a configuration file for compiling C++ programs withReid Spencer2004-08-301-0/+61
| | | | | | | the file name pattern *.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16117 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the "setIncludePaths" and "setSymbolDefines" interface methods.Reid Spencer2004-08-305-50/+157
| | | | | | | | Revise token substitution to be a little faster. Clean up exception throwing, make sure its always a std::string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16116 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass lists of -I and -D options through to the Compiler Driver.Reid Spencer2004-08-301-0/+17
| | | | | | | Handle -g and -Wxxx for GCC compatibility git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16115 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a blurb about exploiting the use of external storage.Reid Spencer2004-08-301-2/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16114 91177308-0d34-0410-b5e6-96231b3b80d8
* Move yet more instructions over to being printed by the generated asm writerNate Begeman2004-08-304-134/+188
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16112 91177308-0d34-0410-b5e6-96231b3b80d8
* Abbreviate the long descriptions which are now in docs/SystemLibrary.html.Reid Spencer2004-08-301-79/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16111 91177308-0d34-0410-b5e6-96231b3b80d8
* Reduce the number of arguments in the instruction builder and make someReid Spencer2004-08-302-160/+137
| | | | | | | | | | improvements on instruction selection that account for register and frame index bases. Patch contributed by Jeff Cohen. Thanks Jeff! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16110 91177308-0d34-0410-b5e6-96231b3b80d8
* Need to throw std::string not const char* if we want error messages to beReid Spencer2004-08-301-3/+3
| | | | | | | caught. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16109 91177308-0d34-0410-b5e6-96231b3b80d8
* Synchronize documentation of configuration items and substitutions withReid Spencer2004-08-291-80/+31
| | | | | | | current reality of llvmc implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16108 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert A-Form instructions to auto-generated asm writerNate Begeman2004-08-292-45/+62
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16107 91177308-0d34-0410-b5e6-96231b3b80d8
* Register sizes should be specified in bitsNate Begeman2004-08-291-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16106 91177308-0d34-0410-b5e6-96231b3b80d8
* Improvements to int->float cast code for PPC-64Nate Begeman2004-08-293-61/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16105 91177308-0d34-0410-b5e6-96231b3b80d8
* Must link against new LLVMsystem libraryNate Begeman2004-08-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16104 91177308-0d34-0410-b5e6-96231b3b80d8
* RemoveFileOnSignal is now in sys:: namespaceNate Begeman2004-08-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16103 91177308-0d34-0410-b5e6-96231b3b80d8
* Put this change back in after testing from Reid proved its innocence. ↵Nate Begeman2004-08-291-2/+2
| | | | | | getSpillSize now returns value in bits git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16102 91177308-0d34-0410-b5e6-96231b3b80d8
* Update doxygen comment now that getSpillSize is supposed to return value in bitsNate Begeman2004-08-291-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16101 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a declaration of environ global for DarwinReid Spencer2004-08-292-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16100 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a missing header fileReid Spencer2004-08-291-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16099 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an assert to cature null Operands. It is better to catch it here thanReid Spencer2004-08-291-0/+1
| | | | | | | to SIGSEGV in the bowels of isa<...> later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16098 91177308-0d34-0410-b5e6-96231b3b80d8
* Signals support has been moved to lib/SystemReid Spencer2004-08-291-138/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16097 91177308-0d34-0410-b5e6-96231b3b80d8
* Updated to create a link needed for correct lib/System compilation.Reid Spencer2004-08-291-43/+201
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16096 91177308-0d34-0410-b5e6-96231b3b80d8
* Add lib/System ahead of lib/Support in case there are operating systemReid Spencer2004-08-291-1/+1
| | | | | | | issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16095 91177308-0d34-0410-b5e6-96231b3b80d8
* Link with LLVMsystem.a for operating system independence.Reid Spencer2004-08-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16094 91177308-0d34-0410-b5e6-96231b3b80d8
* RemoveFileOnErrorSignal is now in the llvm::sys namespace. AdjustReid Spencer2004-08-291-1/+1
| | | | | | | accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16093 91177308-0d34-0410-b5e6-96231b3b80d8