aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix Whitespace.Michael J. Spencer2010-11-267-65/+65
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120166 91177308-0d34-0410-b5e6-96231b3b80d8
* Move tree navigation to a new Path class that doesn't have to be a template.Jakob Stoklund Olesen2010-11-262-296/+364
| | | | | | | | The path also holds a reference to the root node, and that allows important iterator accessors like start() and stop() to have no conditional code. (When the compiler is clever enough to remove it.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120165 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove explicit uses of -emit-llvm, the test infrastructure adds itDuncan Sands2010-11-254-4/+4
| | | | | | | | | automatically. Use -S with llvm-gcc rather than -c, so tests can work when llvm-gcc is really dragonegg (which can output IR with -S but not -c). Yes, dragonegg supports objective-c++ (poorly though). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120164 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove explicit uses of -emit-llvm, the test infrastructure adds itDuncan Sands2010-11-2510-10/+10
| | | | | | | | | automatically. Use -S with llvm-gcc rather than -c, so tests can work when llvm-gcc is really dragonegg (which can output IR with -S but not -c). Yes, dragonegg supports objective-c (poorly though). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120163 91177308-0d34-0410-b5e6-96231b3b80d8
* Bump required cmake version on CMake.html.Oscar Fuentes2010-11-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120162 91177308-0d34-0410-b5e6-96231b3b80d8
* Use -S rather than -c for the benefit of dragonegg.Duncan Sands2010-11-253-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120161 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove explicit uses of -emit-llvm, the test infrastructure adds itDuncan Sands2010-11-2547-63/+63
| | | | | | | | | automatically. Use -S with llvm-gcc rather than -c, so tests can work when llvm-gcc is really dragonegg (which can output IR with -S but not -c). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120160 91177308-0d34-0410-b5e6-96231b3b80d8
* Judging from the comment, the system assembler is supposed to assembleDuncan Sands2010-11-251-1/+1
| | | | | | | | | the output of this test. Since it was producing bitcode, that clearly wasn't happening! Have it produce target assembler and assemble that instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120159 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove explicit uses of -emit-llvm, the test infrastructure adds itDuncan Sands2010-11-2588-121/+121
| | | | | | | | | automatically. Use -S with llvm-gcc rather than -c, so tests can work when llvm-gcc is really dragonegg (which can output IR with -S but not -c). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120158 91177308-0d34-0410-b5e6-96231b3b80d8
* Dragonegg cannot output bitcode, only human readable IR, so use -S ratherDuncan Sands2010-11-2521-22/+22
| | | | | | | than -c. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120157 91177308-0d34-0410-b5e6-96231b3b80d8
* Use LLVMCC_EMITIR_FLAG rather than hard-coding "-emit-llvm".Duncan Sands2010-11-253-5/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120156 91177308-0d34-0410-b5e6-96231b3b80d8
* Using LLVMCC_EMITIR_FLAG rather than hard-coding -emit-llvmDuncan Sands2010-11-251-10/+10
| | | | | | | | (dragonegg cannot use -emit-llvm so needs a different flag to everyone else). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120155 91177308-0d34-0410-b5e6-96231b3b80d8
* It seems inconsistent to have LLVMCC_EMITIR_FLAG andDuncan Sands2010-11-253-8/+8
| | | | | | | | | LLVMGCC_DISABLEOPT_FLAGS, one with CC in it, the other with GCC. Rename LLVMGCC_DISABLEOPT_FLAGS to LLVMCC_DISABLEOPT_FLAGS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120151 91177308-0d34-0410-b5e6-96231b3b80d8
* SDep is POD-like. Shave off a few bytes from SUnit by moving a member around.Benjamin Kramer2010-11-251-7/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120150 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial support for being able to specify the llvm-gcc to use like this:Duncan Sands2010-11-252-16/+14
| | | | | | | --with-llvmgcc="gcc-4.5 -fplugin=dragonegg.so" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120149 91177308-0d34-0410-b5e6-96231b3b80d8
* Use multiple 0x66 prefixes so that all nops up to 15 bytes are a single ↵Rafael Espindola2010-11-252-25/+9
| | | | | | instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120147 91177308-0d34-0410-b5e6-96231b3b80d8
* Namespacify.Benjamin Kramer2010-11-252-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120146 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor some code to parseSectionFlags and fix the default type of a section.Rafael Espindola2010-11-252-49/+71
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120145 91177308-0d34-0410-b5e6-96231b3b80d8
* system_error: Even more unsupported error numbers :(.Michael J. Spencer2010-11-251-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120139 91177308-0d34-0410-b5e6-96231b3b80d8
* Treat a call of function pointer like a load of the pointer when consideringNick Lewycky2010-11-242-1/+19
| | | | | | | | whether the pointer can be replaced with the global variable it is a copy of. Fixes PR8680. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120126 91177308-0d34-0410-b5e6-96231b3b80d8
* Behave a bit more like gnu as and use the symbol (instead of the section)Rafael Espindola2010-11-243-7/+82
| | | | | | for any relocation to a symbol defined in a tls section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120121 91177308-0d34-0410-b5e6-96231b3b80d8
* 80 col.Michael J. Spencer2010-11-241-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120111 91177308-0d34-0410-b5e6-96231b3b80d8
* google test depends on Support.Michael J. Spencer2010-11-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120105 91177308-0d34-0410-b5e6-96231b3b80d8
* Relocate with the symbol if the relocation is of kind NTPOFF.Rafael Espindola2010-11-242-14/+36
| | | | | | Patch by David Meyer, I added the test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120104 91177308-0d34-0410-b5e6-96231b3b80d8
* unittests: Add initial Path-V2 test.Michael J. Spencer2010-11-241-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120103 91177308-0d34-0410-b5e6-96231b3b80d8
* Path Version 2.Michael J. Spencer2010-11-241-0/+977
| | | | | | | | | Based on TR2/boost filesystem (v3) API, but modified to remove exceptions. Do not include this file directly, when it is ready, it will be included by include/llvm/System/Path.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120102 91177308-0d34-0410-b5e6-96231b3b80d8
* unittests: Add SystemTests.Michael J. Spencer2010-11-246-18/+70
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120101 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix and add tests for all cases in x86 and x86_64 where gnu as implicitlyRafael Espindola2010-11-243-16/+109
| | | | | | sets the type of a symbol to STT_TLS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120100 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for r120017.Rafael Espindola2010-11-241-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120099 91177308-0d34-0410-b5e6-96231b3b80d8
* Updating MBlaze .mask and .frame directives to match GCC's output and fixing ↵Wesley Peck2010-11-241-12/+19
| | | | | | regression introduced in 120095 by checking MCStreamer::hasRawTextSupport. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120097 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Fixing error where basic block labels were not being printed out when ↵Wesley Peck2010-11-245-33/+126
| | | | | | | | | | | | they need to be for the MBlaze backend because AsmPrinter::isBlockOnlyReachableByFallthrough does not take into account delay slots. 2. Re-adding .mask and .frame directives in printed assembly. 3. Adding .ent and .end directives in printed assembly. 4. Minor cleanups to MBlaze backend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120095 91177308-0d34-0410-b5e6-96231b3b80d8
* Use i8 as SETCC result type for i1 in SPU.Kalle Raiskila2010-11-241-4/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120092 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow for 'fcmp ogt' in SPU.Kalle Raiskila2010-11-242-8/+21
| | | | | | | Fix by Visa Putkinen! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120090 91177308-0d34-0410-b5e6-96231b3b80d8
* If a symbol is used as tls, mark it as tls even if not declare as so. ProbablyRafael Espindola2010-11-242-2/+54
| | | | | | fixes PR8659. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120076 91177308-0d34-0410-b5e6-96231b3b80d8
* include/llvm/System/system_error.h: ECANCELED is undefined on Cygwin-1.5.NAKAMURA Takumi2010-11-241-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120072 91177308-0d34-0410-b5e6-96231b3b80d8
* Tweak ImmutableMap/ImmutableSet/ImmutableList APIsTed Kremenek2010-11-245-260/+235
| | | | | | | | | | to use lowercase letters for the start of most method names and to replace some method names with more descriptive names (e.g., "getLeft()" instead of "Left()"). No real functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120070 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize overflowLeaf to also handle overflows in branch nodes.Jakob Stoklund Olesen2010-11-241-29/+50
| | | | | | | This doesn't quite work yet because the calls to treeDecrement and treeIncrement operate at the leaf level, not on pathNode(Level) as required. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120068 91177308-0d34-0410-b5e6-96231b3b80d8
* add a MemoryBuffer::getOpenFile method, which turns an openChris Lattner2010-11-232-4/+16
| | | | | | | file descriptor into a MemoryBuffer (and closes the FD). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120065 91177308-0d34-0410-b5e6-96231b3b80d8
* system_error: Add fixme.Michael J. Spencer2010-11-231-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120059 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename SimplifyDistributed to the more meaningfull name SimplifyByFactorizing.Duncan Sands2010-11-234-15/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120051 91177308-0d34-0410-b5e6-96231b3b80d8
* The srem -> urem transform is not safe for any divisor that's not a power of ↵Benjamin Kramer2010-11-233-16/+14
| | | | | | | | | | | two. E.g. -5 % 5 is 0 with srem and 1 with urem. Also addresses Frits van Bommel's comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120049 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace calls to ConstantFoldInstruction with calls to SimplifyInstructionDuncan Sands2010-11-232-11/+12
| | | | | | | | in two places that are really interested in simplified instructions, not constants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120044 91177308-0d34-0410-b5e6-96231b3b80d8
* Constant folding here is pointless, because InstructionSimplifyDuncan Sands2010-11-231-8/+1
| | | | | | | | (which does constant folding and more) is called a few lines later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120042 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the ARM reloc constants to Support/ELF.hJason W Kim2010-11-233-142/+142
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120035 91177308-0d34-0410-b5e6-96231b3b80d8
* Recognize sign/zero-extended constant BUILD_VECTORs for VMULL operations.Bob Wilson2010-11-232-13/+181
| | | | | | | We need to check if the individual vector elements are sign/zero-extended values. For now this only handles constants values. Radar 8687140. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120034 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix copy-and-paste error in exception message.Bob Wilson2010-11-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120033 91177308-0d34-0410-b5e6-96231b3b80d8
* InstCombine: Reduce "X shift (A srem B)" to "X shift (A urem B)" iff B is ↵Benjamin Kramer2010-11-233-10/+28
| | | | | | | | | positive. This allows to transform the rem in "1 << ((int)x % 8);" to an and. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120028 91177308-0d34-0410-b5e6-96231b3b80d8
* Propagate LeftDistributes and RightDistributes into their only uses.Duncan Sands2010-11-231-6/+4
| | | | | | | Stylistic improvement suggested by Frits van Bommel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120026 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo pointed out by Frits van Bommel and Marius Wachtler.Duncan Sands2010-11-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120025 91177308-0d34-0410-b5e6-96231b3b80d8
* Exploit distributive laws (eg: And distributes over Or, Mul over Add, etc) in aDuncan Sands2010-11-235-42/+144
| | | | | | | | | | | | | fairly systematic way in instcombine. Some of these cases were already dealt with, in which case I removed the existing code. The case of Add has a bunch of funky logic which covers some of this plus a few variants (considers shifts to be a form of multiplication), which I didn't touch. The simplification performed is: A*B+A*C -> A*(B+C). The improvement is to do this in cases that were not already handled [such as A*B-A*C -> A*(B-C), which was reported on the mailing list], and also to do it more often by not checking for "only one use" if "B+C" simplifies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120024 91177308-0d34-0410-b5e6-96231b3b80d8