oota-llvm.git
16 years agoEncode PICADD; some code clean up.
Evan Cheng [Fri, 31 Oct 2008 19:10:44 +0000 (19:10 +0000)]
Encode PICADD; some code clean up.

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

16 years agoRemove some unused virtual function bodies.
Dan Gohman [Fri, 31 Oct 2008 19:06:33 +0000 (19:06 +0000)]
Remove some unused virtual function bodies.

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

16 years agoRevert r58489. It isn't correct for all cases.
Bill Wendling [Fri, 31 Oct 2008 18:30:19 +0000 (18:30 +0000)]
Revert r58489. It isn't correct for all cases.

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

16 years agoSymbol visibility is unsupported on cygwin too.
Anton Korobeynikov [Fri, 31 Oct 2008 18:05:01 +0000 (18:05 +0000)]
Symbol visibility is unsupported on cygwin too.
Patch by Jay Foad!

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

16 years agoAdd an assert to catch user errors like:
Torok Edwin [Fri, 31 Oct 2008 17:27:41 +0000 (17:27 +0000)]
Add an assert to catch user errors like:
MyFunctionPass() : FunctionPass(ID) {}

when the user actually meant to write:
MyFunctionPass() : FunctionPass(&ID) {}

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

16 years agoChange x86 register allocation ordering to match that of gcc. Otherwise some tools...
Evan Cheng [Fri, 31 Oct 2008 16:52:57 +0000 (16:52 +0000)]
Change x86 register allocation ordering to match that of gcc. Otherwise some tools get confused by prologue generated by llvm.

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

16 years agoAdd a fixme.
Evan Cheng [Fri, 31 Oct 2008 16:41:59 +0000 (16:41 +0000)]
Add a fixme.

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

16 years agoTotally disable the setSubgraphColor calls temporarily, as they're
Dan Gohman [Fri, 31 Oct 2008 16:12:56 +0000 (16:12 +0000)]
Totally disable the setSubgraphColor calls temporarily, as they're
currently troublesome even for #ifndef NDEBUG builds.

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

16 years agoAdd a bunch of libcalls for ppcf128 that were somehow
Duncan Sands [Fri, 31 Oct 2008 14:06:52 +0000 (14:06 +0000)]
Add a bunch of libcalls for ppcf128 that were somehow
completely forgotten about when writing LegalizeTypes.

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

16 years agoFor some targets pointer and int are 16-bits. Allow 16-bits as a valid index
Sanjiv Gupta [Fri, 31 Oct 2008 10:26:20 +0000 (10:26 +0000)]
For some targets pointer and int are 16-bits. Allow 16-bits as a valid index
in such cases.

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

16 years agoDon't skip over all "terminator" instructions when determining where to put the
Bill Wendling [Fri, 31 Oct 2008 04:00:23 +0000 (04:00 +0000)]
Don't skip over all "terminator" instructions when determining where to put the
callee-saved restore code. It could skip over conditional jumps
accidentally. Instead, just skip the "return" instructions.

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

16 years agoFix warning.
Daniel Dunbar [Fri, 31 Oct 2008 01:50:01 +0000 (01:50 +0000)]
Fix warning.

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

16 years agoCMake: Fix some unwanted commentary line wraps on the last change.
Oscar Fuentes [Fri, 31 Oct 2008 01:37:26 +0000 (01:37 +0000)]
CMake: Fix some unwanted commentary line wraps on the last change.

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

16 years agoCMake: Establish dependencies among executables and libraries, using
Oscar Fuentes [Fri, 31 Oct 2008 01:24:51 +0000 (01:24 +0000)]
CMake: Establish dependencies among executables and libraries, using
data manually extracted from llvm-config.

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

16 years agoUse MOVSSmr instead of EXTRACTPSmr in the case of extracting
Dan Gohman [Fri, 31 Oct 2008 00:57:24 +0000 (00:57 +0000)]
Use MOVSSmr instead of EXTRACTPSmr in the case of extracting
vector element 0 for a store, as it's smaller and faster.

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

16 years agoRevert errant deletion. The target needs to be able to specify that it doesn't want...
Jim Grosbach [Thu, 30 Oct 2008 23:44:39 +0000 (23:44 +0000)]
Revert errant deletion. The target needs to be able to specify that it doesn't want the generic constant pool to be emitted.

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

16 years agoI think we got non-machine specific constpool entries covered.
Evan Cheng [Thu, 30 Oct 2008 23:43:36 +0000 (23:43 +0000)]
I think we got non-machine specific constpool entries covered.

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

16 years agoChange the name of the generated solution file for a CMake build. (from 'project...
Cedric Venet [Thu, 30 Oct 2008 21:22:00 +0000 (21:22 +0000)]
Change the name of the generated solution file for a CMake build. (from 'project' to 'LLVM').
!!!!!!!!!! Warning !!!!!!!!!!!!!!!
If you already have created a solution with cmake, you will need to manually open to the new one.

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

16 years agoTestcase for PR2987.
Duncan Sands [Thu, 30 Oct 2008 21:13:11 +0000 (21:13 +0000)]
Testcase for PR2987.

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

16 years agoCanonicalize sext(i1) to i1?-1:0, and update various instcombine
Dan Gohman [Thu, 30 Oct 2008 20:40:10 +0000 (20:40 +0000)]
Canonicalize sext(i1) to i1?-1:0, and update various instcombine
optimizations accordingly.

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

16 years agoTestcase for PR2986.
Duncan Sands [Thu, 30 Oct 2008 20:34:30 +0000 (20:34 +0000)]
Testcase for PR2986.

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

16 years agoFix PR2986: do not use a potentially illegal
Duncan Sands [Thu, 30 Oct 2008 20:26:50 +0000 (20:26 +0000)]
Fix PR2986: do not use a potentially illegal
type for the shift amount type.  Add a check
that shifts and rotates use the type returned
by getShiftAmountTy for the amount.  This
exposed some problems in CellSPU and PPC,
which have already been fixed.

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

16 years agoSet svn:ignore on cscope.{files,out} in root llvm directory.
Daniel Dunbar [Thu, 30 Oct 2008 19:35:32 +0000 (19:35 +0000)]
Set svn:ignore on cscope.{files,out} in root llvm directory.

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

16 years agoSet svn:ignore for some Release-Asserts and Output dirs.
Daniel Dunbar [Thu, 30 Oct 2008 19:31:35 +0000 (19:31 +0000)]
Set svn:ignore for some Release-Asserts and Output dirs.

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

16 years agoShift amounts should have type getShiftAmountTy
Duncan Sands [Thu, 30 Oct 2008 19:28:32 +0000 (19:28 +0000)]
Shift amounts should have type getShiftAmountTy
(i32 for PPC, not i8).  Correct this, and some
formatting while there.

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

16 years agoAdd InlineCost class for represent the estimated cost of inlining a
Daniel Dunbar [Thu, 30 Oct 2008 19:26:59 +0000 (19:26 +0000)]
Add InlineCost class for represent the estimated cost of inlining a
function.
 - This explicitly models the costs for functions which should
   "always" or "never" be inlined. This fixes bugs where such costs
   were not previously respected.

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

16 years agoShift amounts should have the type given by
Duncan Sands [Thu, 30 Oct 2008 19:24:28 +0000 (19:24 +0000)]
Shift amounts should have the type given by
getShiftAmountTy (i32 in the case of CellSPU).

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

16 years agoAdd missing vsetcc expansion for widening
Mon P Wang [Thu, 30 Oct 2008 18:21:52 +0000 (18:21 +0000)]
Add missing vsetcc expansion for widening

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

16 years agoCMake: Reverted some unintentional changes on the previous commit.
Oscar Fuentes [Thu, 30 Oct 2008 17:21:37 +0000 (17:21 +0000)]
CMake: Reverted some unintentional changes on the previous commit.

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

16 years agoCMake: Cygwin pretends to be Unix.
Oscar Fuentes [Thu, 30 Oct 2008 17:15:54 +0000 (17:15 +0000)]
CMake: Cygwin pretends to be Unix.
Patch by Jay Foad.

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

16 years agoARM JIT should observe -relocation-model command line option.
Evan Cheng [Thu, 30 Oct 2008 16:10:54 +0000 (16:10 +0000)]
ARM JIT should observe -relocation-model command line option.

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

16 years agoAdd initial support for vector widening. Logic is set to widen for X86.
Mon P Wang [Thu, 30 Oct 2008 08:01:45 +0000 (08:01 +0000)]
Add initial support for vector widening.  Logic is set to widen for X86.
One will only see an effect if legalizetype is not active.  Will move
support to LegalizeType soon.

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

16 years agomention fortran status.
Chris Lattner [Thu, 30 Oct 2008 03:58:13 +0000 (03:58 +0000)]
mention fortran status.

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

16 years agoResolve bug 2947: vararg-marked functions must spill registers R3-R79 to stack
Scott Michel [Thu, 30 Oct 2008 01:51:48 +0000 (01:51 +0000)]
Resolve bug 2947: vararg-marked functions must spill registers R3-R79 to stack
so that va_start/va_arg/et.al. will walk arguments correctly for Cell SPU.

N.B.: Because neither clang nor llvm-gcc-4.2 can be built for CellSPU, this is
still unexorcised code.

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

16 years agoRevert r58411. The user needs to #define this when using the JITMemoryManager.h header.
Bill Wendling [Thu, 30 Oct 2008 01:22:58 +0000 (01:22 +0000)]
Revert r58411. The user needs to #define this when using the JITMemoryManager.h header.

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

16 years agoSpell DISABLE_ASSERTIONS correctly.
Dan Gohman [Thu, 30 Oct 2008 01:08:03 +0000 (01:08 +0000)]
Spell DISABLE_ASSERTIONS correctly.

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

16 years agoRevert part of r58048. It was breaking on SnowLeopard claiming that
Bill Wendling [Thu, 30 Oct 2008 00:11:55 +0000 (00:11 +0000)]
Revert part of r58048. It was breaking on SnowLeopard claiming that
"__STDC_CONSTANT_MACROS" needs to be #defined first.

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

16 years agoCorrect way to handle CONSTPOOL_ENTRY instructions.
Evan Cheng [Wed, 29 Oct 2008 23:55:43 +0000 (23:55 +0000)]
Correct way to handle CONSTPOOL_ENTRY instructions.

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

16 years agoAdd debugging support.
Evan Cheng [Wed, 29 Oct 2008 23:55:17 +0000 (23:55 +0000)]
Add debugging support.

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

16 years agoLet target resolve some relocation results.
Evan Cheng [Wed, 29 Oct 2008 23:54:46 +0000 (23:54 +0000)]
Let target resolve some relocation results.

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

16 years agoThis is not needed anymore.
Evan Cheng [Wed, 29 Oct 2008 23:54:10 +0000 (23:54 +0000)]
This is not needed anymore.

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

16 years agoAdd a bit to MachineRelocation that tells JIT that target is responsible for resolvin...
Evan Cheng [Wed, 29 Oct 2008 23:53:42 +0000 (23:53 +0000)]
Add a bit to MachineRelocation that tells JIT that target is responsible for resolving the address. e.g. ARM constpool.

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

16 years agoFix PEXTRQ encoding
Nate Begeman [Wed, 29 Oct 2008 23:07:17 +0000 (23:07 +0000)]
Fix PEXTRQ encoding

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

16 years agoadd testcase for PR2964
Chris Lattner [Wed, 29 Oct 2008 18:42:22 +0000 (18:42 +0000)]
add testcase for PR2964

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

16 years agoAdd a RM pseudoreg for the rounding mode, which
Dale Johannesen [Wed, 29 Oct 2008 18:26:45 +0000 (18:26 +0000)]
Add a RM pseudoreg for the rounding mode, which
allows ppcf128->int conversion to work with
DeadInstructionElimination.  This is now turned
off but RM is harmless.  It does not do a complete
job of modeling the rounding mode.

Revert marking MFCR as using all 7 CR subregisters;
while correct, this caused the problem in PR 2964,
plus the local RA crash noted in the comments.
This was needed to make DeadInstructionElimination,
but as we are not running that, it is backed out
for now.  Eventually it should go back in and the
other problems fixed where they're broken.

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

16 years agoTestcase for PR2917.
Duncan Sands [Wed, 29 Oct 2008 18:06:20 +0000 (18:06 +0000)]
Testcase for PR2917.

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

16 years agoUniformize capitalization of NodeId.
Duncan Sands [Wed, 29 Oct 2008 17:52:12 +0000 (17:52 +0000)]
Uniformize capitalization of NodeId.

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

16 years agoFix PR2967 by not deleting volatile load/stores that occur before unreachable.
Chris Lattner [Wed, 29 Oct 2008 17:46:26 +0000 (17:46 +0000)]
Fix PR2967 by not deleting volatile load/stores that occur before unreachable.
I don't really see this as being needed, but there is little harm from doing
it.

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

16 years agofix typo
Torok Edwin [Wed, 29 Oct 2008 16:32:06 +0000 (16:32 +0000)]
fix typo

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

16 years agoMake the declaration of bzero match size_t on
Duncan Sands [Wed, 29 Oct 2008 15:57:37 +0000 (15:57 +0000)]
Make the declaration of bzero match size_t on
x86-64-linux.

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

16 years agoFix PR2977: LegalizeTypes support for expanding
Duncan Sands [Wed, 29 Oct 2008 14:25:28 +0000 (14:25 +0000)]
Fix PR2977: LegalizeTypes support for expanding
VAARG.

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

16 years agoAdd sanity checking for BUILD_PAIR (I noticed the
Duncan Sands [Wed, 29 Oct 2008 14:22:20 +0000 (14:22 +0000)]
Add sanity checking for BUILD_PAIR (I noticed the
other day that PPC custom lowering could create
a BUILD_PAIR of two f64 with a result type of...
f64! - already fixed).  Fix a place that triggers
the sanity check.

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

16 years ago- More pre-split fixes: spill slot live interval computation bug; restore point bug.
Evan Cheng [Wed, 29 Oct 2008 08:39:34 +0000 (08:39 +0000)]
- More pre-split fixes: spill slot live interval computation bug; restore point bug.
- If a def is spilt, remember its spill index to allow its reuse.

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

16 years agoFix a FIXME: in ReplaceNodeWith, if the new node
Duncan Sands [Wed, 29 Oct 2008 06:42:19 +0000 (06:42 +0000)]
Fix a FIXME: in ReplaceNodeWith, if the new node
is morphed by AnalyzeNewNode into a previously
processed node, and different result values of
that node are remapped to values with different
nodes, then we could end up using wrong values
here [we were assuming that all results remap
to values with the same underlying node].  This
seems theoretically possible, but I don't have
a testcase.  The meat of the patch is in the
changes to AnalyzeNewNode/AnalyzeNewValue and
ReplaceNodeWith.  While there, I changed names
like RemapNode to RemapValue, since it really
remaps values.  To tell the truth, I would be
much happier if we were only remapping nodes
(it would simplify a bunch of logic, and allow
for some cute speedups) but I haven't yet worked
out how to do that.

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

16 years agoFix 80 column violations.
Duncan Sands [Wed, 29 Oct 2008 06:33:00 +0000 (06:33 +0000)]
Fix 80 column violations.

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

16 years agoFix 80 column violations.
Duncan Sands [Wed, 29 Oct 2008 06:31:03 +0000 (06:31 +0000)]
Fix 80 column violations.

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

16 years ago- Rewrite code that update register live interval that's split.
Evan Cheng [Wed, 29 Oct 2008 05:06:14 +0000 (05:06 +0000)]
- Rewrite code that update register live interval that's split.
- Create and update spill slot live intervals.
- Lots of bug fixes.

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

16 years agoCMake: Removed some cruft.
Oscar Fuentes [Wed, 29 Oct 2008 02:33:15 +0000 (02:33 +0000)]
CMake: Removed some cruft.

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

16 years agoFactor shouldInline method out of Inliner.
Daniel Dunbar [Wed, 29 Oct 2008 01:02:02 +0000 (01:02 +0000)]
Factor shouldInline method out of Inliner.
 - No functionality change.

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

16 years agoDon't force things to be Value * when they're not.
David Greene [Wed, 29 Oct 2008 00:30:54 +0000 (00:30 +0000)]
Don't force things to be Value * when they're not.

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

16 years agoAssorted comment/naming fixes, 80-col violations, and reindentation.
Daniel Dunbar [Tue, 28 Oct 2008 23:24:26 +0000 (23:24 +0000)]
Assorted comment/naming fixes, 80-col violations, and reindentation.
 - No functionality change.

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

16 years ago(A & sext(C)) | (B & ~sext(C) -> C ? A : B
Dan Gohman [Tue, 28 Oct 2008 22:38:57 +0000 (22:38 +0000)]
(A & sext(C)) | (B & ~sext(C)  ->  C ? A : B

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

16 years agoTake Chris' suggestion and define EnableFastISelVerbose and
Dan Gohman [Tue, 28 Oct 2008 20:35:31 +0000 (20:35 +0000)]
Take Chris' suggestion and define EnableFastISelVerbose and
EnableFastISelAbort variables for Release mode instead of
using ifdefs in the code.

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

16 years agollvm-ld doesn't have a -march option. This fixes PR2961
Chris Lattner [Tue, 28 Oct 2008 20:05:06 +0000 (20:05 +0000)]
llvm-ld doesn't have a -march option.  This fixes PR2961

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

16 years agoReuse PrintEscapedString for printing names in .ll
Daniel Dunbar [Tue, 28 Oct 2008 19:33:02 +0000 (19:33 +0000)]
Reuse PrintEscapedString for printing names in .ll
 - One functionality change, '\\' in a name is now printed as a hex
   escape instead of "\\\\". This is consistent with other users of
   PrintEscapedString.

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

16 years agoProtect the code for fast-isel debugging with #ifndef NDEBUG.
Dan Gohman [Tue, 28 Oct 2008 19:08:46 +0000 (19:08 +0000)]
Protect the code for fast-isel debugging with #ifndef NDEBUG.

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

16 years agoAdd some more information to the top-level comment for this file.
Dan Gohman [Tue, 28 Oct 2008 18:47:37 +0000 (18:47 +0000)]
Add some more information to the top-level comment for this file.

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

16 years agoSupport for constant islands in the ARM JIT.
Jim Grosbach [Tue, 28 Oct 2008 18:25:49 +0000 (18:25 +0000)]
Support for constant islands in the ARM JIT.

Since the ARM constant pool handling supercedes the standard LLVM constant
pool entirely, the JIT emitter does not allocate space for the constants,
nor initialize the memory. The constant pool is considered part of the
instruction stream.

Likewise, when resolving relocations into the constant pool, a hook into
the target back end is used to resolve from the constant ID# to the
address where the constant is stored.

For now, the support in the ARM emitter is limited to 32-bit integer. Future
patches will expand this to the full range of constants necessary.

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

16 years agofix prototype of print, it is (llvm/Pass.h):
Torok Edwin [Tue, 28 Oct 2008 17:29:23 +0000 (17:29 +0000)]
fix prototype of print, it is (llvm/Pass.h):
  virtual void print(std::ostream &O, const Module *M) const;
instead of
  virtual void print(llvm::OStream &O, const Module *M) const;
as the docs say

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

16 years agoAvoid calls to setSubgraphColor in release mode. They generate lots of error messages...
Evan Cheng [Tue, 28 Oct 2008 17:23:13 +0000 (17:23 +0000)]
Avoid calls to setSubgraphColor in release mode. They generate lots of error messages and slow down compilation.

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

16 years agoDo not allow a user to set the operand for a constant.
Tanya Lattner [Tue, 28 Oct 2008 17:22:40 +0000 (17:22 +0000)]
Do not allow a user to set the operand for a constant.

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

16 years agofix duplicate anchor names, and broken anchor links from the TOC
Torok Edwin [Tue, 28 Oct 2008 16:54:34 +0000 (16:54 +0000)]
fix duplicate anchor names, and broken anchor links from the TOC

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

16 years agoFix darwin ppc llvm-gcc build breakage: intercept
Duncan Sands [Tue, 28 Oct 2008 15:00:32 +0000 (15:00 +0000)]
Fix darwin ppc llvm-gcc build breakage: intercept
ppcf128 to i32 conversion and expand it into a code
sequence like in LegalizeDAG.  This needs custom
ppc lowering of FP_ROUND_INREG, so turn that on and
make it work with LegalizeTypes.  Probably PPC should
simply custom lower the original conversion.

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

16 years agoTurn off LegalizeTypes for this test for the
Duncan Sands [Tue, 28 Oct 2008 09:55:04 +0000 (09:55 +0000)]
Turn off LegalizeTypes for this test for the
moment, while waiting for a proper solution.

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

16 years agoFix a testcase provided by Bill in which the node
Duncan Sands [Tue, 28 Oct 2008 09:38:36 +0000 (09:38 +0000)]
Fix a testcase provided by Bill in which the node
id could end up being wrong mostly because of
forgetting to remap new nodes that morphed into
processed nodes through CSE.

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

16 years agoDon't produce invalid comparisons after legalize.
Chris Lattner [Tue, 28 Oct 2008 07:11:07 +0000 (07:11 +0000)]
Don't produce invalid comparisons after legalize.

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

16 years agofix some whitespace stuff
Chris Lattner [Tue, 28 Oct 2008 07:10:51 +0000 (07:10 +0000)]
fix some whitespace stuff

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

16 years agofit in 80 cols
Chris Lattner [Tue, 28 Oct 2008 06:20:17 +0000 (06:20 +0000)]
fit in 80 cols

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

16 years agoFix a nasty miscompilation of 176.gcc on linux/x86 where we synthesized
Chris Lattner [Tue, 28 Oct 2008 05:49:35 +0000 (05:49 +0000)]
Fix a nasty miscompilation of 176.gcc on linux/x86 where we synthesized
a memset using 16-byte XMM stores, but where the stack realignment code
didn't work.  Until it does (PR2962) disable use of xmm regs in memcpy
and memset formation for linux and other targets with insufficiently
aligned stacks.

This is part of PR2888

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

16 years agomore comment cleanups.
Chris Lattner [Tue, 28 Oct 2008 05:32:08 +0000 (05:32 +0000)]
more comment cleanups.

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

16 years agocomment cleanups.
Chris Lattner [Tue, 28 Oct 2008 05:31:31 +0000 (05:31 +0000)]
comment cleanups.

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

16 years agoIf def is in the same mbb as the barrier, spilt the value after the last use before...
Evan Cheng [Tue, 28 Oct 2008 05:28:21 +0000 (05:28 +0000)]
If def is in the same mbb as the barrier, spilt the value after the last use before the barrier.

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

16 years agoAdd command line option to limit the number splits to help debugging.
Evan Cheng [Tue, 28 Oct 2008 01:48:24 +0000 (01:48 +0000)]
Add command line option to limit the number splits to help debugging.

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

16 years agoFix the name of the include guard to match the filename.
Dan Gohman [Tue, 28 Oct 2008 00:52:46 +0000 (00:52 +0000)]
Fix the name of the include guard to match the filename.

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

16 years agoAvoid putting a split past the end of the live range; always shrink wrap live interva...
Evan Cheng [Tue, 28 Oct 2008 00:47:49 +0000 (00:47 +0000)]
Avoid putting a split past the end of the live range; always shrink wrap live interval in the barrier mbb.

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

16 years ago- Fix SUBVERSION string to handle x.x.x version number formats.
Bill Wendling [Mon, 27 Oct 2008 23:31:24 +0000 (23:31 +0000)]
- Fix SUBVERSION string to handle x.x.x version number formats.
- Add VERBOSE=1 flag.
- Specify the LLVM_SUBMIT_VERSION when doing the "make install".
  The libLTO.dylib relies upon this flag during that time.

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

16 years agoSilence a bogus compile time warning.
Evan Cheng [Mon, 27 Oct 2008 23:29:28 +0000 (23:29 +0000)]
Silence a bogus compile time warning.

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

16 years agoRe-apply 55137 with fixes.
David Greene [Mon, 27 Oct 2008 23:24:03 +0000 (23:24 +0000)]
Re-apply 55137 with fixes.

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

16 years agoRemove val# defined by a remat'ed def that is now dead.
Evan Cheng [Mon, 27 Oct 2008 23:21:01 +0000 (23:21 +0000)]
Remove val# defined by a remat'ed def that is now dead.

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

16 years agoFix bogus comparison of "const char *" with c-string literal. Use strcmp instead.
Ted Kremenek [Mon, 27 Oct 2008 22:43:07 +0000 (22:43 +0000)]
Fix bogus comparison of "const char *" with c-string literal.  Use strcmp instead.

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

16 years agoHave TableGen emit setSubgraphColor calls under control of a -gen-debug
David Greene [Mon, 27 Oct 2008 21:56:29 +0000 (21:56 +0000)]
Have TableGen emit setSubgraphColor calls under control of a -gen-debug
flag.  Then in a debugger developers can set breakpoints at these calls
to see waht is about to be selected and what the resulting subgraph
looks like.  This really helps when debugging instruction selection.

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

16 years agoReturn bool (inserted) from StringSet::insert as for StringMap::insert.
Daniel Dunbar [Mon, 27 Oct 2008 20:50:02 +0000 (20:50 +0000)]
Return bool (inserted) from StringSet::insert as for StringMap::insert.

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

16 years agoRemove tabs from my previous commit.
Cedric Venet [Mon, 27 Oct 2008 19:21:35 +0000 (19:21 +0000)]
Remove tabs from my previous commit.

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

16 years agorename vec_spat -> vec_splat, pointed out by duncan
Chris Lattner [Mon, 27 Oct 2008 18:28:24 +0000 (18:28 +0000)]
rename vec_spat -> vec_splat, pointed out by duncan

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

16 years agoAdd setSubgraphColor to color an entire portion of a SelectionDAG. This
David Greene [Mon, 27 Oct 2008 18:17:03 +0000 (18:17 +0000)]
Add setSubgraphColor to color an entire portion of a SelectionDAG.  This
will be used to support debug features in TableGen.

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

16 years agoAdd STL-style typedefs and default constructors to make it possible to
David Greene [Mon, 27 Oct 2008 18:15:15 +0000 (18:15 +0000)]
Add STL-style typedefs and default constructors to make it possible to
use DenseMap in more contexts.

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

16 years agoFix PR2634. Create new virtual registers from spills early so that we
David Greene [Mon, 27 Oct 2008 17:38:59 +0000 (17:38 +0000)]
Fix PR2634.  Create new virtual registers from spills early so that we
can give it the same stack slot as the spilled interval if it is folded.
This prevents the fold/unfold code from pointing to the wrong register.

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

16 years agoRemove redundant word in tblgen error message.
Matthijs Kooijman [Mon, 27 Oct 2008 15:59:43 +0000 (15:59 +0000)]
Remove redundant word in tblgen error message.

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

16 years agoFix UpdateNodeOperands so that it does CSE of calls
Duncan Sands [Mon, 27 Oct 2008 15:30:53 +0000 (15:30 +0000)]
Fix UpdateNodeOperands so that it does CSE of calls
(and a bunch of other node types).  While there, I
added a doNotCSE predicate and used it to reduce code
duplication (some of the duplicated code was wrong...).
This fixes ARM/cse-libcalls.ll when using LegalizeTypes.

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

16 years agoFix a bug in which a node could be added to the
Duncan Sands [Mon, 27 Oct 2008 13:18:32 +0000 (13:18 +0000)]
Fix a bug in which a node could be added to the
worklist twice: UpdateNodeOperands could morph
a new node into a node already on the worklist.
We would then recalculate the NodeId for this
existing node and add it to the worklist.  The
testcase is ARM/cse-libcalls.ll, the problem
showing up once UpdateNodeOperands is taught to
do CSE for calls.

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