oota-llvm.git
13 years agoFix typo.
Eric Christopher [Tue, 17 Aug 2010 01:30:33 +0000 (01:30 +0000)]
Fix typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111223 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoCopy over some overridden MI wrappers for ARM fast-isel. This is where
Eric Christopher [Tue, 17 Aug 2010 01:25:29 +0000 (01:25 +0000)]
Copy over some overridden MI wrappers for ARM fast-isel.  This is where
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

13 years agoPHI elimination should not break back edge. It can cause some significant code placem...
Evan Cheng [Tue, 17 Aug 2010 01:20:36 +0000 (01:20 +0000)]
PHI elimination should not break back edge. It can cause some significant 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

13 years agoRemove predicate workaround, we're going to require that predicate
Eric Christopher [Tue, 17 Aug 2010 01:18:37 +0000 (01:18 +0000)]
Remove predicate workaround, we're going to require that predicate
and optional def operands are handled in the backend support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111220 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMake arm fast-isel possible to enable via command line.
Eric Christopher [Tue, 17 Aug 2010 00:46:57 +0000 (00:46 +0000)]
Make arm fast-isel possible to enable via command line.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111219 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoTry to silence a overeager GCC warning.
Benjamin Kramer [Tue, 17 Aug 2010 00:33:24 +0000 (00:33 +0000)]
Try to silence a overeager GCC warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111214 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoA round of minor cleanups for ELFObjectWriter.
Benjamin Kramer [Tue, 17 Aug 2010 00:00:46 +0000 (00:00 +0000)]
A round of minor cleanups for ELFObjectWriter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111213 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a testcase for svn 111208.
Bob Wilson [Mon, 16 Aug 2010 23:44:29 +0000 (23:44 +0000)]
Add a testcase for svn 111208.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111212 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix another iterator invalidation that caused a *really* nasty miscompilation in...
Owen Anderson [Mon, 16 Aug 2010 23:42:33 +0000 (23:42 +0000)]
Fix another iterator invalidation that caused a *really* nasty miscompilation in 403.gcc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111210 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoIgnore undef shuffle indices when checking for a VTRN shuffle. Radar 8290937.
Bob Wilson [Mon, 16 Aug 2010 23:37:17 +0000 (23:37 +0000)]
Ignore undef shuffle indices when checking for a VTRN shuffle.  Radar 8290937.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111208 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agotidy up. remove unused local.
Jim Grosbach [Mon, 16 Aug 2010 23:26:09 +0000 (23:26 +0000)]
tidy up. remove unused local.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111206 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSilence warnings and simplify code. Eliminate a 32/64 bit portability issue.
Benjamin Kramer [Mon, 16 Aug 2010 23:00:12 +0000 (23:00 +0000)]
Silence warnings and simplify code. Eliminate a 32/64 bit portability issue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111201 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoThe plural of analysis is analyses.
Dan Gohman [Mon, 16 Aug 2010 22:57:28 +0000 (22:57 +0000)]
The plural of analysis is analyses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111200 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMake dumpPassStructure be a PMDataManager abstraction, rather than
Dan Gohman [Mon, 16 Aug 2010 22:45:12 +0000 (22:45 +0000)]
Make dumpPassStructure be a PMDataManager abstraction, rather than
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

13 years agoBetter handle alignment requirements for local objects in pre-regalloc frame
Jim Grosbach [Mon, 16 Aug 2010 22:30:41 +0000 (22:30 +0000)]
Better handle alignment requirements for local objects in pre-regalloc frame
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

13 years agoGeneralize a pattern for PKHTB: an SRL of 16-31 bits will guarantee
Bob Wilson [Mon, 16 Aug 2010 22:26:55 +0000 (22:26 +0000)]
Generalize a pattern for PKHTB: an SRL of 16-31 bits will guarantee
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

13 years agoConvert test to FileCheck.
Bob Wilson [Mon, 16 Aug 2010 22:21:13 +0000 (22:21 +0000)]
Convert test to FileCheck.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111195 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMake some of PMTopLevelManager's members non-public. In particular,
Dan Gohman [Mon, 16 Aug 2010 22:03:47 +0000 (22:03 +0000)]
Make some of PMTopLevelManager's members non-public. In particular,
make its constructor protected.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111193 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove redundant inline keywords.
Dan Gohman [Mon, 16 Aug 2010 21:57:30 +0000 (21:57 +0000)]
Remove redundant inline keywords.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111192 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoEliminate the TopLevelManagerType enum; instead, just make
Dan Gohman [Mon, 16 Aug 2010 21:38:42 +0000 (21:38 +0000)]
Eliminate the TopLevelManagerType enum; instead, just make
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

13 years agoComment out some broken/unused/useless instructions which mess up disassembly.
Eli Friedman [Mon, 16 Aug 2010 21:18:51 +0000 (21:18 +0000)]
Comment out some broken/unused/useless instructions which mess up disassembly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111185 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFixes for generation of ELF relocations. Patch by Roman Divacky.
Eli Friedman [Mon, 16 Aug 2010 21:17:09 +0000 (21:17 +0000)]
Fixes for generation of ELF relocations.  Patch by Roman Divacky.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111183 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDon't attempt to SimplifyShortMoveForm in 64-bit mode.
Eli Friedman [Mon, 16 Aug 2010 21:03:32 +0000 (21:03 +0000)]
Don't attempt to SimplifyShortMoveForm in 64-bit mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111182 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUntil uleb/sleb are MC-ized, add a hack to make them work with ELF object
Eli Friedman [Mon, 16 Aug 2010 20:08:40 +0000 (20:08 +0000)]
Until uleb/sleb are MC-ized, add a hack to make them work with ELF object
emission.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111177 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix a few warnings in and detabify MCELFStreamer and ELFObjectWriter.
Eli Friedman [Mon, 16 Aug 2010 19:15:06 +0000 (19:15 +0000)]
Fix a few warnings in and detabify MCELFStreamer and ELFObjectWriter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111175 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd ELF ObjectWriter and Streamer support.
Matt Fleming [Mon, 16 Aug 2010 18:57:57 +0000 (18:57 +0000)]
Add ELF ObjectWriter and Streamer support.

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

13 years agoHookup ELF support for X86.
Matt Fleming [Mon, 16 Aug 2010 18:36:14 +0000 (18:36 +0000)]
Hookup ELF support for X86.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111173 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd ELF ObjectWriter and Streamer support.
Matt Fleming [Mon, 16 Aug 2010 18:35:43 +0000 (18:35 +0000)]
Add ELF ObjectWriter and Streamer support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111172 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoLayout helper function.
Matt Fleming [Mon, 16 Aug 2010 18:35:06 +0000 (18:35 +0000)]
Layout helper function.

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

13 years agoRecord a symbol's size which is needed for ELF symbol tables.
Matt Fleming [Mon, 16 Aug 2010 18:34:31 +0000 (18:34 +0000)]
Record a symbol's size which is needed for ELF symbol tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111170 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoELF entry size support.
Matt Fleming [Mon, 16 Aug 2010 18:33:46 +0000 (18:33 +0000)]
ELF entry size support.

Some ELF sections contain fixed-sized entries. Provide a way to record
the entry size of a section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111169 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename sat_shift operand to shift_imm, in preparation for using it for other
Bob Wilson [Mon, 16 Aug 2010 18:27:34 +0000 (18:27 +0000)]
Rename sat_shift operand to shift_imm, in preparation for using it for other
instructions besides saturate instructions.  No functional changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111168 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoPartially revert r111155. It looks like MSVC is calling an operator<() that
Jakob Stoklund Olesen [Mon, 16 Aug 2010 18:24:54 +0000 (18:24 +0000)]
Partially revert r111155. It looks like MSVC is calling an operator<() that
clang says is unused.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111167 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agotrack local frame size in MFI, not local to the pass, since PEI needs it.
Jim Grosbach [Mon, 16 Aug 2010 18:06:15 +0000 (18:06 +0000)]
track local frame size in MFI, not local to the pass, since PEI needs it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111164 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRevert r111031. The way LLVM defines loop invariance, the property of an
Dan Gohman [Mon, 16 Aug 2010 17:34:25 +0000 (17:34 +0000)]
Revert r111031. The way LLVM defines loop invariance, the property of an
expression being loop invariant is not equivalent to the property of
properly dominating the loop header.

Other optimizations have also made this optimization less important.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111160 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove unused functions.
Jakob Stoklund Olesen [Mon, 16 Aug 2010 17:18:20 +0000 (17:18 +0000)]
Remove unused functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111156 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove unused functions.
Jakob Stoklund Olesen [Mon, 16 Aug 2010 17:18:18 +0000 (17:18 +0000)]
Remove unused functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111155 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove unused code.
Bob Wilson [Mon, 16 Aug 2010 17:06:03 +0000 (17:06 +0000)]
Remove unused code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111154 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoConvert a test to use FileCheck.
Bob Wilson [Mon, 16 Aug 2010 17:05:27 +0000 (17:05 +0000)]
Convert a test to use FileCheck.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111153 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoPlacate overzealous compiler warnings.
Dan Gohman [Mon, 16 Aug 2010 17:01:55 +0000 (17:01 +0000)]
Placate overzealous compiler warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111152 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoTo create a copy of a SmallVector with an element removed from the
Dan Gohman [Mon, 16 Aug 2010 16:57:24 +0000 (16:57 +0000)]
To create a copy of a SmallVector with an element removed from the
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

13 years agoInstall Embedded builds into usr/local. Radar 8313723.
Bob Wilson [Mon, 16 Aug 2010 16:39:59 +0000 (16:39 +0000)]
Install Embedded builds into usr/local.  Radar 8313723.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111149 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agosilence a vc2010 warning: " result of 32-bit shift implicitly converted to
Chris Lattner [Mon, 16 Aug 2010 16:35:20 +0000 (16:35 +0000)]
silence a vc2010 warning: " result of 32-bit shift implicitly converted to
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

13 years agoTidy whitespace.
Dan Gohman [Mon, 16 Aug 2010 16:34:09 +0000 (16:34 +0000)]
Tidy whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111147 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a comment.
Dan Gohman [Mon, 16 Aug 2010 16:31:39 +0000 (16:31 +0000)]
Add a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111145 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUse const_iterator in a few places.
Dan Gohman [Mon, 16 Aug 2010 16:30:01 +0000 (16:30 +0000)]
Use const_iterator in a few places.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111144 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUse iterators instead of indices in a few more places.
Dan Gohman [Mon, 16 Aug 2010 16:27:53 +0000 (16:27 +0000)]
Use iterators instead of indices in a few more places.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111143 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMicro-optimize SCEVConstant comparison.
Dan Gohman [Mon, 16 Aug 2010 16:25:35 +0000 (16:25 +0000)]
Micro-optimize SCEVConstant comparison.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111142 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMove SCEVNAryExpr's virtual member functions out of line, and convert
Dan Gohman [Mon, 16 Aug 2010 16:21:27 +0000 (16:21 +0000)]
Move SCEVNAryExpr's virtual member functions out of line, and convert
them to iterators.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111140 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUse iterators instead of indices in simple cases.
Dan Gohman [Mon, 16 Aug 2010 16:16:11 +0000 (16:16 +0000)]
Use iterators instead of indices in simple cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111138 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAvoid gratuitous inefficiency in ifndef NDEBUG code.
Dan Gohman [Mon, 16 Aug 2010 16:13:54 +0000 (16:13 +0000)]
Avoid gratuitous inefficiency in ifndef NDEBUG code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111137 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMake one getAddExpr call when analyzing a+b+c+d+e+... instead of one
Dan Gohman [Mon, 16 Aug 2010 16:03:49 +0000 (16:03 +0000)]
Make one getAddExpr call when analyzing a+b+c+d+e+... instead of one
for each add instruction. Ditto for Mul.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111136 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDelete an unused function.
Dan Gohman [Mon, 16 Aug 2010 15:57:14 +0000 (15:57 +0000)]
Delete an unused function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111135 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoInstead of having CollectSubexpr's categorize operands as interesting or
Dan Gohman [Mon, 16 Aug 2010 15:50:00 +0000 (15:50 +0000)]
Instead of having CollectSubexpr's categorize operands as interesting or
uninteresting, just put all the operands on one list and make
GenerateReassociations make the decision about what's interesting.
This is simpler, and it avoids an extra ScalarEvolution::getAddExpr call.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111133 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoPut add operands in ScalarEvolution-canonical order, when convenient.
Dan Gohman [Mon, 16 Aug 2010 15:39:27 +0000 (15:39 +0000)]
Put add operands in ScalarEvolution-canonical order, when convenient.
This isn't necessary, because ScalarEvolution sorts them anyway,
but it's tidier this way.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111132 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSpecialize FoldingSetTrait<SCEV>, providing implementations of node
Dan Gohman [Mon, 16 Aug 2010 15:31:45 +0000 (15:31 +0000)]
Specialize FoldingSetTrait<SCEV>, providing implementations of node
comparison and hash computation which don't require constructing
temporary ID values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111131 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd hooks to FoldingSetTrait to allow specializations to provide
Dan Gohman [Mon, 16 Aug 2010 15:30:39 +0000 (15:30 +0000)]
Add hooks to FoldingSetTrait to allow specializations to provide
implementations of equality comparison and hash computation. This
can be used to optimize node lookup by avoiding creating lots of
temporary ID values just for hashing and comparison purposes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111130 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoTidy up whitespace in comments.
Dan Gohman [Mon, 16 Aug 2010 15:04:39 +0000 (15:04 +0000)]
Tidy up whitespace in comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111129 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoConstify FoldingSetNodeIDRef's Data.
Dan Gohman [Mon, 16 Aug 2010 15:03:24 +0000 (15:03 +0000)]
Constify FoldingSetNodeIDRef's Data.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111128 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoReverse the order of GetNodeProfile's arguments, for consistency
Dan Gohman [Mon, 16 Aug 2010 14:53:42 +0000 (14:53 +0000)]
Reverse the order of GetNodeProfile's arguments, for consistency
with FoldingSetTrait::Profile.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111127 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix indentation in example code in a comment.
Dan Gohman [Mon, 16 Aug 2010 14:45:36 +0000 (14:45 +0000)]
Fix indentation in example code in a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111125 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAvoid #include <ScalarEvolution.h> in LoopSimplify.cpp, which doesn't
Dan Gohman [Mon, 16 Aug 2010 14:44:03 +0000 (14:44 +0000)]
Avoid #include <ScalarEvolution.h> in LoopSimplify.cpp, which doesn't
actually use ScalarEvolution.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111124 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoInstead, teach SimplifyCFG to trim non-address-taken blocks from
Dan Gohman [Mon, 16 Aug 2010 14:41:14 +0000 (14:41 +0000)]
Instead, teach SimplifyCFG to trim non-address-taken blocks from
indirectbr destination lists.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111122 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRevert r111058, the lint check for indirectbr successors that aren't
Dan Gohman [Mon, 16 Aug 2010 14:39:19 +0000 (14:39 +0000)]
Revert r111058, the lint check for indirectbr successors that aren't
address-taken. This can occur normally, if the code which took the
address got DCEd.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111121 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoTest expects SSE, give him SSE.
Benjamin Kramer [Sun, 15 Aug 2010 23:32:03 +0000 (23:32 +0000)]
Test expects SSE, give him SSE.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111115 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUpdated LLVMLibDeps.cmake
Oscar Fuentes [Sun, 15 Aug 2010 22:14:42 +0000 (22:14 +0000)]
Updated LLVMLibDeps.cmake

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111112 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoCMake: Improved COMMENT on a custom command
Oscar Fuentes [Sun, 15 Aug 2010 22:14:36 +0000 (22:14 +0000)]
CMake: Improved COMMENT on a custom command

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111111 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRestore arch on these test, they fail on arm.
Benjamin Kramer [Sun, 15 Aug 2010 20:42:56 +0000 (20:42 +0000)]
Restore arch on these test, they fail on arm.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111109 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMark as XFAIL on darwin 8. PR 7886.
Dale Johannesen [Sun, 15 Aug 2010 19:40:29 +0000 (19:40 +0000)]
Mark as XFAIL on darwin 8.  PR 7886.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111108 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUpdated the GenLibDeps -> LLVMLibDeps.cmake transformation example.
Oscar Fuentes [Sun, 15 Aug 2010 15:08:27 +0000 (15:08 +0000)]
Updated the GenLibDeps -> LLVMLibDeps.cmake transformation example.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111104 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRevert r111082. No warnings for this common pattern.
Argyrios Kyrtzidis [Sun, 15 Aug 2010 10:27:23 +0000 (10:27 +0000)]
Revert r111082. No warnings for this common pattern.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111102 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUpdate tests.
Mikhail Glushenkov [Sun, 15 Aug 2010 07:07:24 +0000 (07:07 +0000)]
Update tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111096 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRegenerate.
Mikhail Glushenkov [Sun, 15 Aug 2010 07:07:17 +0000 (07:07 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111095 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agollvmc: remove dynamic plugins.
Mikhail Glushenkov [Sun, 15 Aug 2010 07:07:12 +0000 (07:07 +0000)]
llvmc: remove dynamic plugins.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111094 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRework how the non-sse2 memory barrier is lowered so that the
Eric Christopher [Sat, 14 Aug 2010 21:51:50 +0000 (21:51 +0000)]
Rework how the non-sse2 memory barrier is lowered so that the
encoding is correct for the built-in assembler.

Based on a patch from Chris.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111083 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd ATTRIBUTE_UNUSED to methods that are not supposed to be used.
Argyrios Kyrtzidis [Sat, 14 Aug 2010 21:35:10 +0000 (21:35 +0000)]
Add ATTRIBUTE_UNUSED to methods that are not supposed to be used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111082 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoimprove indentation
Chris Lattner [Sat, 14 Aug 2010 17:26:09 +0000 (17:26 +0000)]
improve indentation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111073 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoT2I_rbin_irs rr variant is for disassembly only, so don't provide a pattern.
Bob Wilson [Sat, 14 Aug 2010 03:18:29 +0000 (03:18 +0000)]
T2I_rbin_irs rr variant is for disassembly only, so don't provide a pattern.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111068 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUpdate CMake build.
Ted Kremenek [Sat, 14 Aug 2010 01:55:09 +0000 (01:55 +0000)]
Update CMake build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111063 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoLoopSimplify shouldn't split loop backedges that use indirectbr. PR7867.
Dan Gohman [Sat, 14 Aug 2010 00:43:09 +0000 (00:43 +0000)]
LoopSimplify shouldn't split loop backedges that use indirectbr. PR7867.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111061 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoTeach SimplifyCFG how to simplify indirectbr instructions.
Dan Gohman [Sat, 14 Aug 2010 00:29:42 +0000 (00:29 +0000)]
Teach SimplifyCFG how to simplify indirectbr instructions.
 - Eliminate redundant successors.
 - Convert an indirectbr with one successor into a direct branch.

Also, generalize SimplifyCFG to be able to be run on a function entry block.
It knows quite a few simplifications which are applicable to the entry
block, and it only needs a few checks to avoid trouble with the entry block.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111060 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a local stack object block allocation pass. This is still an
Jim Grosbach [Sat, 14 Aug 2010 00:15:52 +0000 (00:15 +0000)]
Add a local stack object block allocation pass. This is still an
experimental pass that allocates locals relative to one another before
register allocation and then assigns them to actual stack slots as a block
later in PEI. This will eventually allow targets with limited index offset
range to allocate additional base registers (not just FP and SP) to
more efficiently reference locals, as well as handle situations where
locals cannot be referenced via SP or FP at all (dynamic stack realignment
together with variable sized objects, for example). It's currently
incomplete and almost certainly buggy. Work in progress.

Disabled by default and gated via the -enable-local-stack-alloc command
line option.

rdar://8277890

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111059 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a lint check for an indirectbr destination which has not
Dan Gohman [Fri, 13 Aug 2010 23:56:28 +0000 (23:56 +0000)]
Add a lint check for an indirectbr destination which has not
had its address taken.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111058 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a Thumb2 t2RSBrr instruction for disassembly only.
Bob Wilson [Fri, 13 Aug 2010 23:24:25 +0000 (23:24 +0000)]
Add a Thumb2 t2RSBrr instruction for disassembly only.
This fixes another part of PR7792.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111057 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoClean up the Spiller.h interface.
Jakob Stoklund Olesen [Fri, 13 Aug 2010 22:56:53 +0000 (22:56 +0000)]
Clean up the Spiller.h interface.

The earliestStart argument is entirely specific to linear scan allocation, and
can be easily calculated by RegAllocLinearScan.

Replace std::vector with SmallVector.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111055 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoTemporarily disable tail calls on ARM to work around some linker problems.
Bob Wilson [Fri, 13 Aug 2010 22:43:33 +0000 (22:43 +0000)]
Temporarily disable tail calls on ARM to work around some linker problems.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111050 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMove the Thumb2 SSAT and USAT optional shift operator out of the
Bob Wilson [Fri, 13 Aug 2010 21:48:10 +0000 (21:48 +0000)]
Move the Thumb2 SSAT and USAT optional shift operator out of the
instruction opcode.  This fixes part of PR7792.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111047 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoVarious optimizations. Don't compare two loops' depths
Dan Gohman [Fri, 13 Aug 2010 21:24:58 +0000 (21:24 +0000)]
Various optimizations. Don't compare two loops' depths
when they are the same loop. Don't compare two instructions'
loop depths when they are in the same block.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111045 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoImplement splitting inside a single block.
Jakob Stoklund Olesen [Fri, 13 Aug 2010 21:18:48 +0000 (21:18 +0000)]
Implement splitting inside a single block.

When a live range is contained a single block, we can split it around
instruction clusters. The current approach is very primitive, splitting before
and after the largest gap between uses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111043 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix LSR's ExtractImmediate and ExtractSymbol to avoid calling
Dan Gohman [Fri, 13 Aug 2010 21:17:19 +0000 (21:17 +0000)]
Fix LSR's ExtractImmediate and ExtractSymbol to avoid calling
ScalarEvolution::getAddExpr, which can be pretty expensive, when nothing
has changed, which is pretty common.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111042 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd comments to some pattern fragments in x86
Bruno Cardoso Lopes [Fri, 13 Aug 2010 20:39:01 +0000 (20:39 +0000)]
Add comments to some pattern fragments in x86

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111041 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agotidy up comments
Jim Grosbach [Fri, 13 Aug 2010 20:32:35 +0000 (20:32 +0000)]
tidy up comments

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111040 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoWhen testing whether one loop contains another, test this directly
Dan Gohman [Fri, 13 Aug 2010 20:23:25 +0000 (20:23 +0000)]
When testing whether one loop contains another, test this directly
rather than testing whether the loop contains the other's header.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111039 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a const.
Dan Gohman [Fri, 13 Aug 2010 20:17:27 +0000 (20:17 +0000)]
Add a const.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111038 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoWhen creating a symmetric SCEV with a constant operand, put
Dan Gohman [Fri, 13 Aug 2010 20:17:14 +0000 (20:17 +0000)]
When creating a symmetric SCEV with a constant operand, put
the constant operand on the left, as that's where ScalarEvolution
will end up canonicalizing to.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111037 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAn add recurrence is loop-invariant in any loop inside of its
Dan Gohman [Fri, 13 Aug 2010 20:11:39 +0000 (20:11 +0000)]
An add recurrence is loop-invariant in any loop inside of its
associated loop. This avoids potentially expensive traversals
of the add recurrence's operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111034 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agotidy up 80 column and whitespace
Jim Grosbach [Fri, 13 Aug 2010 20:08:59 +0000 (20:08 +0000)]
tidy up 80 column and whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111033 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRevert r111007.
Mikhail Glushenkov [Fri, 13 Aug 2010 20:08:53 +0000 (20:08 +0000)]
Revert r111007.

Apparently, this is now fixed in Clang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111032 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoImplement hasComputableLoopEvolution for Add, Mul, and Trunc operators,
Dan Gohman [Fri, 13 Aug 2010 20:03:15 +0000 (20:03 +0000)]
Implement hasComputableLoopEvolution for Add, Mul, and Trunc operators,
since they can support trivial implementations. This avoids potentially
expensive traversals of the operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111031 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRefactor the code for disassembling Thumb2 saturate instructions along the
Bob Wilson [Fri, 13 Aug 2010 19:04:21 +0000 (19:04 +0000)]
Refactor the code for disassembling Thumb2 saturate instructions along the
same lines as the change I made for ARM saturate instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111029 91177308-0d34-0410-b5e6-96231b3b80d8