aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Use a shorter form to express implicit use/defs in FpGETRESULT andAlkis Evlogimenos2004-09-081-6/+4
| | | | | | | FpSETRESULT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16247 91177308-0d34-0410-b5e6-96231b3b80d8
* A call instruction should implicitely define ST0 since the returnAlkis Evlogimenos2004-09-081-3/+8
| | | | | | | | | value is returned in that register. The pseudo instructions FpGETRESULT and FpSETRESULT shold also have an implicity use and def of ST0 repsecitvely. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16246 91177308-0d34-0410-b5e6-96231b3b80d8
* This file does not need <iostream>, I think.Brian Gaeke2004-09-084-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16245 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a DenseMap for mapping reg->reg. This improves the LiveIntervalAlkis Evlogimenos2004-09-082-9/+12
| | | | | | | analysis running time from 2.7869secs to 2.5226secs on 176.gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16244 91177308-0d34-0410-b5e6-96231b3b80d8
* Add 64 bit divide instructions, and use themNate Begeman2004-09-062-34/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16198 91177308-0d34-0410-b5e6-96231b3b80d8
* Indent to 2 spaces and cleanup excess whitespace.Alkis Evlogimenos2004-09-051-48/+47
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16188 91177308-0d34-0410-b5e6-96231b3b80d8
* Indent to 2 spaces.Alkis Evlogimenos2004-09-051-26/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16187 91177308-0d34-0410-b5e6-96231b3b80d8
* * Change PPC32AsmPrinter => PowerPCAsmPrinter since it is now shared betweenMisha Brukman2004-09-053-13/+59
| | | | | | | | | Darwin and AIX and is not 32- or 64-bit specific * Bring back PowerPC.td as a result, to make it use the `PowerPC' class name * Adjust Makefile accordingly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16174 91177308-0d34-0410-b5e6-96231b3b80d8
* Renamed PPC32AsmPrinter.cpp => PowerPCAsmPrinter.cpp as the Darwin and AIX asmMisha Brukman2004-09-051-710/+0
| | | | | | | printers are now unified into one file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16173 91177308-0d34-0410-b5e6-96231b3b80d8
* Include MathExtras.h to fix build breakage, thanks to VladimirNate Begeman2004-09-042-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16164 91177308-0d34-0410-b5e6-96231b3b80d8
* All PPC instructions are now auto-printedNate Begeman2004-09-0411-1176/+944
| | | | | | | | 32 and 64 bit AsmWriters unified Darwin and AIX specific features of AsmWriter split out git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16163 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up some "clean:" targets so they use $(VERB) and don't print anythingReid Spencer2004-09-031-1/+1
| | | | | | | by default, like every other "clean" target in LLVM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16161 91177308-0d34-0410-b5e6-96231b3b80d8
* Order #includes alphabetically, local .h files first.Misha Brukman2004-09-031-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16153 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixes to make LLVM compile with vc7.1.Alkis Evlogimenos2004-09-0312-5/+14
| | | | | | | Patch contributed by Paolo Invernizzi! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16152 91177308-0d34-0410-b5e6-96231b3b80d8
* 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
* 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
* 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-01219-434/+440
| | | | | | | | | 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
* 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
* 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-314-0/+126
| | | | 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
* 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
* 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
* 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
* 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
* 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
* 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 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
* Move a warning comment to where it should have been in the first place.Reid Spencer2004-08-291-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16088 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct the vim: specificationReid Spencer2004-08-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16087 91177308-0d34-0410-b5e6-96231b3b80d8
* Include some additional header files.Reid Spencer2004-08-291-4/+6
| | | | | | | Fix the banner length. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16086 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial platform independent implementation of operating system conceptReid Spencer2004-08-2910-0/+577
| | | | | | | of "Signals" (cleanup after fatal errors). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16085 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial commit of an platform-indepdendent implementation for theReid Spencer2004-08-2910-0/+443
| | | | | | | "Program" operating system concept (find and execute programs). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16084 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the following missing functionality in the PPC backend:Nate Begeman2004-08-293-66/+137
| | | | | | | | | | cast fp->bool cast ulong->fp algebraic right shift long by non-constant value These changes tested across most of the test suite. Fixes Regression/casts git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16081 91177308-0d34-0410-b5e6-96231b3b80d8
* Revise the design of the Path concept per peer review. Too many changes toReid Spencer2004-08-297-202/+699
| | | | | | | | | note individually but these essence of it is to not derive from std::string, clarify the interface, and provide better documentation. There is now also (untested) implementations for AIX, Darwin, and SunOS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16078 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead code.Alkis Evlogimenos2004-08-281-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16077 91177308-0d34-0410-b5e6-96231b3b80d8