aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Use the getUniquePredecessor() utility function, instead of doingDan Gohman2010-08-171-15/+5
| | | | | | | what it does manually. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111248 91177308-0d34-0410-b5e6-96231b3b80d8
* One baby step towards i386 ELF, from Roman Divacky.Benjamin Kramer2010-08-171-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111247 91177308-0d34-0410-b5e6-96231b3b80d8
* fix emacs language spec's, patch by Edmund Grimley-Evans!Chris Lattner2010-08-1721-21/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111241 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111240 91177308-0d34-0410-b5e6-96231b3b80d8
* 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! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111231 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow more cases of undef shuffle indices and add tests for them.Bob Wilson2010-08-171-12/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111226 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111224 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo.Eric Christopher2010-08-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111223 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111222 91177308-0d34-0410-b5e6-96231b3b80d8
* PHI elimination should not break back edge. It can cause some significant ↵Evan Cheng2010-08-172-5/+14
| | | | | | | | | | | | | | | | | | | | | | 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111221 91177308-0d34-0410-b5e6-96231b3b80d8
* Make arm fast-isel possible to enable via command line.Eric Christopher2010-08-171-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111219 91177308-0d34-0410-b5e6-96231b3b80d8
* Try to silence a overeager GCC warning.Benjamin Kramer2010-08-171-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111214 91177308-0d34-0410-b5e6-96231b3b80d8
* A round of minor cleanups for ELFObjectWriter.Benjamin Kramer2010-08-171-29/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111213 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix another iterator invalidation that caused a *really* nasty ↵Owen Anderson2010-08-161-6/+7
| | | | | | miscompilation in 403.gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111210 91177308-0d34-0410-b5e6-96231b3b80d8
* Ignore undef shuffle indices when checking for a VTRN shuffle. Radar 8290937.Bob Wilson2010-08-161-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111208 91177308-0d34-0410-b5e6-96231b3b80d8
* tidy up. remove unused local.Jim Grosbach2010-08-162-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111206 91177308-0d34-0410-b5e6-96231b3b80d8
* Silence warnings and simplify code. Eliminate a 32/64 bit portability issue.Benjamin Kramer2010-08-161-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111201 91177308-0d34-0410-b5e6-96231b3b80d8
* The plural of analysis is analyses.Dan Gohman2010-08-161-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111200 91177308-0d34-0410-b5e6-96231b3b80d8
* Make dumpPassStructure be a PMDataManager abstraction, rather thanDan Gohman2010-08-164-14/+22
| | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111199 91177308-0d34-0410-b5e6-96231b3b80d8
* Better handle alignment requirements for local objects in pre-regalloc frameJim Grosbach2010-08-162-35/+15
| | | | | | | | | | 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111197 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize a pattern for PKHTB: an SRL of 16-31 bits will guaranteeBob Wilson2010-08-162-4/+8
| | | | | | | that the high halfword is zero. The shift need not be exactly 16 bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111196 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove redundant inline keywords.Dan Gohman2010-08-162-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111192 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate the TopLevelManagerType enum; instead, just makeDan Gohman2010-08-161-14/+6
| | | | | | | | PMTopLevelManager's constructor take a PMDataManager *, which already provides the needed abstraction support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111189 91177308-0d34-0410-b5e6-96231b3b80d8
* Comment out some broken/unused/useless instructions which mess up disassembly.Eli Friedman2010-08-161-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111185 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixes for generation of ELF relocations. Patch by Roman Divacky.Eli Friedman2010-08-161-6/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111183 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't attempt to SimplifyShortMoveForm in 64-bit mode.Eli Friedman2010-08-161-9/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111182 91177308-0d34-0410-b5e6-96231b3b80d8
* Until uleb/sleb are MC-ized, add a hack to make them work with ELF objectEli Friedman2010-08-161-2/+2
| | | | | | | | emission. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111177 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a few warnings in and detabify MCELFStreamer and ELFObjectWriter.Eli Friedman2010-08-162-17/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111175 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ELF ObjectWriter and Streamer support.Matt Fleming2010-08-162-0/+1433
| | | | | | | | I forgot to add these files in commit 111172. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111174 91177308-0d34-0410-b5e6-96231b3b80d8
* Hookup ELF support for X86.Matt Fleming2010-08-162-6/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111173 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ELF ObjectWriter and Streamer support.Matt Fleming2010-08-162-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111172 91177308-0d34-0410-b5e6-96231b3b80d8
* Layout helper function.Matt Fleming2010-08-161-0/+34
| | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111171 91177308-0d34-0410-b5e6-96231b3b80d8
* Record a symbol's size which is needed for ELF symbol tables.Matt Fleming2010-08-161-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111170 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename sat_shift operand to shift_imm, in preparation for using it for otherBob Wilson2010-08-165-14/+17
| | | | | | | instructions besides saturate instructions. No functional changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111168 91177308-0d34-0410-b5e6-96231b3b80d8
* Partially revert r111155. It looks like MSVC is calling an operator<() thatJakob Stoklund Olesen2010-08-161-0/+3
| | | | | | clang says is unused. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111167 91177308-0d34-0410-b5e6-96231b3b80d8
* track local frame size in MFI, not local to the pass, since PEI needs it.Jim Grosbach2010-08-161-4/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111164 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused functions.Jakob Stoklund Olesen2010-08-162-35/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111156 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused functions.Jakob Stoklund Olesen2010-08-161-8/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111155 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused code.Bob Wilson2010-08-161-5/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111154 91177308-0d34-0410-b5e6-96231b3b80d8
* To create a copy of a SmallVector with an element removed from theDan Gohman2010-08-161-6/+7
| | | | | | | | | | middle, copy the elements in two groups, rather than copying all the elements and then doing an erase on the middle of the result. These are SmallVectors, so we shouldn't expect to hit dynamic allocation in the common case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111151 91177308-0d34-0410-b5e6-96231b3b80d8
* silence a vc2010 warning: " result of 32-bit shift implicitly converted toChris Lattner2010-08-161-1/+1
| | | | | | | 64 bits (was 64-bit shift intended?)", pointed out by 'nobled' on llvmdev git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111148 91177308-0d34-0410-b5e6-96231b3b80d8
* Tidy whitespace.Dan Gohman2010-08-161-5/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111147 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a comment.Dan Gohman2010-08-161-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111145 91177308-0d34-0410-b5e6-96231b3b80d8
* Use const_iterator in a few places.Dan Gohman2010-08-161-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111144 91177308-0d34-0410-b5e6-96231b3b80d8
* Use iterators instead of indices in a few more places.Dan Gohman2010-08-161-6/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111143 91177308-0d34-0410-b5e6-96231b3b80d8
* Micro-optimize SCEVConstant comparison.Dan Gohman2010-08-161-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111142 91177308-0d34-0410-b5e6-96231b3b80d8
* Move SCEVNAryExpr's virtual member functions out of line, and convertDan Gohman2010-08-161-0/+33
| | | | | | | them to iterators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111140 91177308-0d34-0410-b5e6-96231b3b80d8
* Use iterators instead of indices in simple cases.Dan Gohman2010-08-161-6/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111138 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid gratuitous inefficiency in ifndef NDEBUG code.Dan Gohman2010-08-161-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111137 91177308-0d34-0410-b5e6-96231b3b80d8
* Make one getAddExpr call when analyzing a+b+c+d+e+... instead of oneDan Gohman2010-08-161-6/+31
| | | | | | | for each add instruction. Ditto for Mul. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111136 91177308-0d34-0410-b5e6-96231b3b80d8