summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* macho-dump: Add support for --dump-section-data and tweak a few format strings.Daniel Dunbar2010-11-271-0/+4
| | | | llvm-svn: 120219
* macho-dump: Add support for dumping symbol table entries.Daniel Dunbar2010-11-271-0/+28
| | | | llvm-svn: 120218
* macho-dump: Add support for dumping string table data.Daniel Dunbar2010-11-271-1/+7
| | | | llvm-svn: 120217
* macho-dump: Add support for dumping relocation entries.Daniel Dunbar2010-11-272-14/+22
| | | | llvm-svn: 120216
* macho-dump: Add support for dumping sections.Daniel Dunbar2010-11-271-0/+46
| | | | llvm-svn: 120215
* macho-dump: Add support for dumping dysymtab indirect symbol table.Daniel Dunbar2010-11-271-0/+13
| | | | llvm-svn: 120214
* Unbreak build for newer GCCs.Benjamin Kramer2010-11-271-4/+4
| | | | llvm-svn: 120205
* macho-dump: Add support for dumping symtab and dysymtab commands.Daniel Dunbar2010-11-271-0/+42
| | | | llvm-svn: 120204
* macho-dump: Add support for dumping segment load commands.Daniel Dunbar2010-11-271-0/+68
| | | | llvm-svn: 120203
* Second attempt at fixing the performance regressions introducedOwen Anderson2010-11-271-24/+55
| | | | | | | | by my recent GVN improvement. Looking through a single layer of PHI nodes when attempting to sink GEPs, we need to iteratively look through arbitrary PHI nests. llvm-svn: 120202
* raw_ostream::write_escaped: Add a UseHexEscapes argument.Daniel Dunbar2010-11-271-6/+15
| | | | llvm-svn: 120200
* Fix a comment.Daniel Dunbar2010-11-271-2/+1
| | | | llvm-svn: 120199
* Object/Mach-O: Add header and load command information.Daniel Dunbar2010-11-271-3/+80
| | | | llvm-svn: 120198
* Refactor. Set alignment bit in VLD1-dup instruction classes.Bob Wilson2010-11-271-25/+17
| | | | llvm-svn: 120197
* Object/Mach-O: Validate Mach-O magic and initialize format info.Daniel Dunbar2010-11-271-2/+24
| | | | llvm-svn: 120195
* Add NEON VLD1-dup instructions (load 1 element to all lanes).Bob Wilson2010-11-275-2/+119
| | | | llvm-svn: 120194
* Fix incorrect scheduling itineraries for NEON vld1/vst1 instructions.Bob Wilson2010-11-272-8/+8
| | | | | | | | I added these instructions recently but I have no idea where these "1" values in the NextCycles field came from. As far as I can tell now, these instruction stages are clearly intended to overlap. llvm-svn: 120193
* MC/Mach-O: Start stubbing out a Mach-O object file wrapper.Daniel Dunbar2010-11-272-0/+24
| | | | llvm-svn: 120190
* Reduce nesting.Daniel Dunbar2010-11-271-20/+26
| | | | llvm-svn: 120189
* MC/Mach-O: Migrate more constants into MachOFormat.h.Daniel Dunbar2010-11-271-104/+37
| | | | llvm-svn: 120188
* MC/Mach-O: Switch to using MachOFormat.h.Daniel Dunbar2010-11-273-13/+15
| | | | | | - I'm leaving MachO.h, because I believe it has external consumers, but I would really like to eliminate it (we have stylistic disagreements with one another). llvm-svn: 120187
* MC/Mach-O: Introduce Object/MachOFormat for describing purely platform / machineDaniel Dunbar2010-11-271-38/+24
| | | | | | | independent information on the Mach object format, and move some stuff from MachObjectWriter.cpp there. llvm-svn: 120186
* Remove the unused TheTarget member.Rafael Espindola2010-11-265-7/+7
| | | | llvm-svn: 120168
* Fix Whitespace.Michael J. Spencer2010-11-263-41/+41
| | | | llvm-svn: 120166
* Move tree navigation to a new Path class that doesn't have to be a template.Jakob Stoklund Olesen2010-11-261-1/+102
| | | | | | | | 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.) llvm-svn: 120165
* Use multiple 0x66 prefixes so that all nops up to 15 bytes are a single ↵Rafael Espindola2010-11-251-24/+8
| | | | | | instruction. llvm-svn: 120147
* Namespacify.Benjamin Kramer2010-11-252-3/+3
| | | | llvm-svn: 120146
* Factor some code to parseSectionFlags and fix the default type of a section.Rafael Espindola2010-11-251-49/+58
| | | | llvm-svn: 120145
* Treat a call of function pointer like a load of the pointer when consideringNick Lewycky2010-11-241-1/+6
| | | | | | | whether the pointer can be replaced with the global variable it is a copy of. Fixes PR8680. llvm-svn: 120126
* Behave a bit more like gnu as and use the symbol (instead of the section)Rafael Espindola2010-11-242-6/+18
| | | | | | for any relocation to a symbol defined in a tls section. llvm-svn: 120121
* Relocate with the symbol if the relocation is of kind NTPOFF.Rafael Espindola2010-11-241-1/+2
| | | | | | Patch by David Meyer, I added the test. llvm-svn: 120104
* Fix and add tests for all cases in x86 and x86_64 where gnu as implicitlyRafael Espindola2010-11-241-5/+13
| | | | | | sets the type of a symbol to STT_TLS. llvm-svn: 120100
* 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. llvm-svn: 120097
* 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. llvm-svn: 120095
* Use i8 as SETCC result type for i1 in SPU.Kalle Raiskila2010-11-241-4/+14
| | | | llvm-svn: 120092
* Allow for 'fcmp ogt' in SPU.Kalle Raiskila2010-11-241-2/+2
| | | | | | Fix by Visa Putkinen! llvm-svn: 120090
* If a symbol is used as tls, mark it as tls even if not declare as so. ProbablyRafael Espindola2010-11-241-0/+40
| | | | | | fixes PR8659. llvm-svn: 120076
* add a MemoryBuffer::getOpenFile method, which turns an openChris Lattner2010-11-231-0/+7
| | | | | | file descriptor into a MemoryBuffer (and closes the FD). llvm-svn: 120065
* Rename SimplifyDistributed to the more meaningfull name SimplifyByFactorizing.Duncan Sands2010-11-234-15/+15
| | | | llvm-svn: 120051
* The srem -> urem transform is not safe for any divisor that's not a power of ↵Benjamin Kramer2010-11-232-13/+11
| | | | | | | | | | two. E.g. -5 % 5 is 0 with srem and 1 with urem. Also addresses Frits van Bommel's comments. llvm-svn: 120049
* 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. llvm-svn: 120044
* Constant folding here is pointless, because InstructionSimplifyDuncan Sands2010-11-231-8/+1
| | | | | | | (which does constant folding and more) is called a few lines later. llvm-svn: 120042
* Move the ARM reloc constants to Support/ELF.hJason W Kim2010-11-232-142/+4
| | | | llvm-svn: 120035
* Recognize sign/zero-extended constant BUILD_VECTORs for VMULL operations.Bob Wilson2010-11-231-13/+109
| | | | | | | We need to check if the individual vector elements are sign/zero-extended values. For now this only handles constants values. Radar 8687140. llvm-svn: 120034
* InstCombine: Reduce "X shift (A srem B)" to "X shift (A urem B)" iff B is ↵Benjamin Kramer2010-11-232-10/+17
| | | | | | | | positive. This allows to transform the rem in "1 << ((int)x % 8);" to an and. llvm-svn: 120028
* Propagate LeftDistributes and RightDistributes into their only uses.Duncan Sands2010-11-231-6/+4
| | | | | | Stylistic improvement suggested by Frits van Bommel. llvm-svn: 120026
* Fix typo pointed out by Frits van Bommel and Marius Wachtler.Duncan Sands2010-11-231-1/+1
| | | | llvm-svn: 120025
* Exploit distributive laws (eg: And distributes over Or, Mul over Add, etc) in aDuncan Sands2010-11-234-42/+133
| | | | | | | | | | | | 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. llvm-svn: 120024
* Division by pow-of-2 is not cheap on SPU, do it with Kalle Raiskila2010-11-231-2/+0
| | | | | | shifts. llvm-svn: 120022
* Implement the rex64 prefix.Rafael Espindola2010-11-232-1/+5
| | | | llvm-svn: 120017
OpenPOWER on IntegriCloud