summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Add hook to examine an instruction referencing a frame index to determineJim Grosbach2010-08-174-2/+102
| | | | | | | | | | | | | | | whether to allocate a virtual frame base register to resolve the frame index reference in it. Implement a simple version for ARM to aid debugging. In LocalStackSlotAllocation, scan the function for frame index references to local frame indices and ask the target whether to allocate virtual frame base registers for any it encounters. Purely infrastructural for debug output. Next step is to actually allocate base registers, then add intelligent re-use of them. rdar://8277890 llvm-svn: 111262
* explicitly handle no-op cases for clarity. Fixes clang warning.Jim Grosbach2010-08-171-0/+3
| | | | llvm-svn: 111260
* Use the correct entry size for relocation entries, from Roman Divacky.Benjamin Kramer2010-08-171-2/+6
| | | | llvm-svn: 111259
* Move the decision logic whether it's a good idea to split a critical edge to ↵Evan Cheng2010-08-173-13/+15
| | | | | | clients. Also fixed an erroneous check. An edge is only a back edge when the from and to blocks are in the same loop. llvm-svn: 111256
* When rotating loops, put the original header at the bottom of theDan Gohman2010-08-172-5/+37
| | | | | | | loop, making the resulting loop significantly less ugly. Also, zap its trivial PHI nodes, since it's easy. llvm-svn: 111255
* remove trailing whitespaceJim Grosbach2010-08-171-7/+7
| | | | llvm-svn: 111254
* Differentiate between RELA and REL relocations, from Roman Divacky.Benjamin Kramer2010-08-171-6/+8
| | | | llvm-svn: 111252
* Change ARM PKHTB and PKHBT instructions to use a shift_imm operand to avoidBob Wilson2010-08-179-41/+79
| | | | | | | printing "lsl #0". This fixes the remaining parts of pr7792. Make corresponding changes for encoding/decoding these instructions. llvm-svn: 111251
* Fix debug message.Evan Cheng2010-08-171-1/+1
| | | | llvm-svn: 111250
* add some  's to a pre to avoid newlines being eaten Chris Lattner2010-08-171-10/+11
| | | | | | | and the formatting being thrown off. I admit to not knowing what is going on here. llvm-svn: 111249
* Use the getUniquePredecessor() utility function, instead of doingDan Gohman2010-08-171-15/+5
| | | | | | what it does manually. llvm-svn: 111248
* One baby step towards i386 ELF, from Roman Divacky.Benjamin Kramer2010-08-171-2/+3
| | | | llvm-svn: 111247
* fix emacs language spec's, patch by Edmund Grimley-Evans!Chris Lattner2010-08-1721-21/+21
| | | | llvm-svn: 111241
* When creating a JIT, try to load the program so that we can resolve symbolsNick Lewycky2010-08-171-0/+3
| | | | | | against it. This affects Windows. llvm-svn: 111240
* Revert r111230, we have to find a better place for the host-specific code.Benjamin Kramer2010-08-171-29/+24
| | | | llvm-svn: 111232
* Fix failure of unittests/ExecutionEngine/JIT/MultiJITTest.cpp onChris Lattner2010-08-171-0/+6
| | | | | | cygwin when built with ENABLE_SHARED=1. Patch by NAKAMURA Takumi! llvm-svn: 111231
* Micro-optimize MCObjectWriter to do a byteswap if necessary and then write theBenjamin Kramer2010-08-171-24/+29
| | | | | | whole integer to the stream instead of doing byte-sized writes. llvm-svn: 111230
* There is this new "LLVM" compiler that supports __builtin_bswap but thinks ↵Benjamin Kramer2010-08-171-2/+4
| | | | | | it's gcc 4.2. llvm-svn: 111228
* Allow more cases of undef shuffle indices and add tests for them.Bob Wilson2010-08-176-12/+141
| | | | llvm-svn: 111226
* Add an option to disable codegen prepare critical edge splitting. In theory, ↵Evan Cheng2010-08-171-6/+14
| | | | | | PHI elimination is already doing all (most?) of the splitting needed. But machine-licm and machine-sink seem to miss some important optimizations when splitting is disabled. llvm-svn: 111224
* Fix typo.Eric Christopher2010-08-171-1/+1
| | | | llvm-svn: 111223
* Copy over some overridden MI wrappers for ARM fast-isel. This is whereEric Christopher2010-08-171-1/+192
| | | | | | we're adding predicates and optional defs to the MachineInstrs. llvm-svn: 111222
* PHI elimination should not break back edge. It can cause some significant ↵Evan Cheng2010-08-174-7/+45
| | | | | | | | | | | | | | | | | | | | | code placement issues. rdar://8263994 good: LBB0_2: mov r2, r0 . . . mov r1, r2 bne LBB0_2 bad: LBB0_2: mov r2, r0 . . . @ BB#3: mov r1, r2 b LBB0_2 llvm-svn: 111221
* Remove predicate workaround, we're going to require that predicateEric Christopher2010-08-171-9/+0
| | | | | | and optional def operands are handled in the backend support. llvm-svn: 111220
* Make arm fast-isel possible to enable via command line.Eric Christopher2010-08-171-1/+7
| | | | llvm-svn: 111219
* Try to silence a overeager GCC warning.Benjamin Kramer2010-08-171-0/+2
| | | | llvm-svn: 111214
* A round of minor cleanups for ELFObjectWriter.Benjamin Kramer2010-08-171-29/+12
| | | | llvm-svn: 111213
* Add a testcase for svn 111208.Bob Wilson2010-08-161-0/+14
| | | | llvm-svn: 111212
* Fix another iterator invalidation that caused a *really* nasty ↵Owen Anderson2010-08-161-6/+7
| | | | | | miscompilation in 403.gcc. llvm-svn: 111210
* Ignore undef shuffle indices when checking for a VTRN shuffle. Radar 8290937.Bob Wilson2010-08-161-0/+1
| | | | llvm-svn: 111208
* tidy up. remove unused local.Jim Grosbach2010-08-162-2/+2
| | | | llvm-svn: 111206
* Silence warnings and simplify code. Eliminate a 32/64 bit portability issue.Benjamin Kramer2010-08-161-4/+3
| | | | llvm-svn: 111201
* The plural of analysis is analyses.Dan Gohman2010-08-161-2/+2
| | | | llvm-svn: 111200
* Make dumpPassStructure be a PMDataManager abstraction, rather thanDan Gohman2010-08-166-15/+26
| | | | | | | | | | a Pass abstraction, since that's the level it's actually used at. Rename Pass' dumpPassStructure to dumpPass. This eliminates an awkward use of getAsPass() to convert a PMDataManager* into a Pass* just to permit a dumpPassStructure call. llvm-svn: 111199
* Better handle alignment requirements for local objects in pre-regalloc frameJim Grosbach2010-08-163-35/+29
| | | | | | | | | | mapping. Have the local block track its alignment requirement, and then apply that when the block itself is allocated. Previously, offsets could get adjusted in PEI to be different, relative to one another, than the block allocation thought they would be, which defeats the point of doing the allocation this way. Continuing rdar://8277890 llvm-svn: 111197
* Generalize a pattern for PKHTB: an SRL of 16-31 bits will guaranteeBob Wilson2010-08-164-5/+27
| | | | | | that the high halfword is zero. The shift need not be exactly 16 bits. llvm-svn: 111196
* Convert test to FileCheck.Bob Wilson2010-08-161-4/+19
| | | | llvm-svn: 111195
* Make some of PMTopLevelManager's members non-public. In particular,Dan Gohman2010-08-161-8/+10
| | | | | | make its constructor protected. llvm-svn: 111193
* Remove redundant inline keywords.Dan Gohman2010-08-162-3/+3
| | | | llvm-svn: 111192
* Eliminate the TopLevelManagerType enum; instead, just makeDan Gohman2010-08-162-22/+7
| | | | | | | PMTopLevelManager's constructor take a PMDataManager *, which already provides the needed abstraction support. llvm-svn: 111189
* Comment out some broken/unused/useless instructions which mess up disassembly.Eli Friedman2010-08-161-0/+6
| | | | llvm-svn: 111185
* Fixes for generation of ELF relocations. Patch by Roman Divacky.Eli Friedman2010-08-161-6/+18
| | | | llvm-svn: 111183
* Don't attempt to SimplifyShortMoveForm in 64-bit mode.Eli Friedman2010-08-161-9/+13
| | | | llvm-svn: 111182
* Until uleb/sleb are MC-ized, add a hack to make them work with ELF objectEli Friedman2010-08-161-2/+2
| | | | | | emission. llvm-svn: 111177
* Fix a few warnings in and detabify MCELFStreamer and ELFObjectWriter.Eli Friedman2010-08-162-17/+18
| | | | llvm-svn: 111175
* Add ELF ObjectWriter and Streamer support.Matt Fleming2010-08-164-0/+1533
| | | | | | I forgot to add these files in commit 111172. llvm-svn: 111174
* Hookup ELF support for X86.Matt Fleming2010-08-162-6/+14
| | | | llvm-svn: 111173
* Add ELF ObjectWriter and Streamer support.Matt Fleming2010-08-165-4/+19
| | | | llvm-svn: 111172
* Layout helper function.Matt Fleming2010-08-162-0/+36
| | | | | | | | Introduce a helper method to add a section to the end of a layout. This will be used by the ELF ObjectWriter code to add the metadata sections (symbol table, etc) to the end of an object file. llvm-svn: 111171
* Record a symbol's size which is needed for ELF symbol tables.Matt Fleming2010-08-162-1/+16
| | | | llvm-svn: 111170
OpenPOWER on IntegriCloud