oota-llvm.git
14 years agoRemove unneeded checks from configure.ac.
Torok Edwin [Tue, 26 Jan 2010 08:48:04 +0000 (08:48 +0000)]
Remove unneeded checks from configure.ac.

HAVE_{BI,STD,FWD}_ITERATOR and HAVE_NAMESPACES were not used in the code.
bison and flex are no longer used.
CAN_DLOPEN_SELF was never used either.
AC_PROG_LIBTOOL is not needed since we don't use libtool, we only need the
libltdl checks for dlopen.
Add check for AR, it used to be done by AC_PROG_LIBTOOL.
AC_TYPE_SIGNAL is deprecated, follow autoupdate's suggestion and replace with
void.
Remove unused m4 files.
Configure can now be generated using autoconf 2.65 too, without any warnings!

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

14 years agoFix autoconf 2.65 warning (don't use _cv_ inside AC_CACHE_VAL).
Torok Edwin [Tue, 26 Jan 2010 08:43:05 +0000 (08:43 +0000)]
Fix autoconf 2.65 warning (don't use _cv_ inside AC_CACHE_VAL).

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

14 years agoRemove warning about non return on a non-void function.
Bill Wendling [Tue, 26 Jan 2010 08:27:24 +0000 (08:27 +0000)]
Remove warning about non return on a non-void function.

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

14 years agoeliminate the TargetLowering::UsesGlobalOffsetTable bool, which is
Chris Lattner [Tue, 26 Jan 2010 06:53:37 +0000 (06:53 +0000)]
eliminate the TargetLowering::UsesGlobalOffsetTable bool, which is
subsumed by TargetLowering::getJumpTableEncoding().  Change uses of
it to be more specific.

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

14 years agoNow that printPICJumpTableSetLabel is not overloaded,
Chris Lattner [Tue, 26 Jan 2010 06:42:44 +0000 (06:42 +0000)]
Now that printPICJumpTableSetLabel is not overloaded,
inline it into its only caller, allowing us to simplify it
and hoist bits out of the loop.

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

14 years agoMove getJTISymbol from MachineJumpTableInfo to MachineFunction,
Chris Lattner [Tue, 26 Jan 2010 06:28:43 +0000 (06:28 +0000)]
Move getJTISymbol from MachineJumpTableInfo to MachineFunction,
which is more convenient, and change getPICJumpTableRelocBaseExpr
to take a MachineFunction to match.

Next, move the X86 code that create a PICBase symbol to
X86TargetLowering::getPICBaseSymbol from
X86MCInstLower::GetPICBaseSymbol, which was an asmprinter specific
library.  This eliminates a 'gross hack', and allows us to
implement X86ISelLowering::getPICJumpTableRelocBaseExpr which now
calls it.

This in turn allows us to eliminate the
X86AsmPrinter::printPICJumpTableSetLabel method, which was the
only overload of printPICJumpTableSetLabel.

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

14 years agoadd a new MachineJumpTableInfo::getJTISymbol method,
Chris Lattner [Tue, 26 Jan 2010 05:58:28 +0000 (05:58 +0000)]
add a new MachineJumpTableInfo::getJTISymbol method,
use it to implement the default TargetLowering::getPICJumpTableRelocBaseExpr

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

14 years agostub out a new target hook, need some refactoring before I can
Chris Lattner [Tue, 26 Jan 2010 05:30:30 +0000 (05:30 +0000)]
stub out a new target hook, need some refactoring before I can
implement it.

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

14 years agosimplify asmprinter: only emit .set directives when entries have
Chris Lattner [Tue, 26 Jan 2010 05:15:20 +0000 (05:15 +0000)]
simplify asmprinter: only emit .set directives when entries have
EK_LabelDifference32 kind and the target has .set support.  Simplify
X86AsmPrinter::printPICJumpTableSetLabel to make use of recent helpers.

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

14 years agorename printPICJumpTableEntry -> EmitJumpTableEntry,
Chris Lattner [Tue, 26 Jan 2010 05:10:10 +0000 (05:10 +0000)]
rename printPICJumpTableEntry -> EmitJumpTableEntry,
make it private and non-virtual.  It handles the non-pic
case too, so just use it, simplifying EmitJumpTableInfo.

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

14 years agoimplement X86 @GOTOFF jump table entries with the new EK_Custom32
Chris Lattner [Tue, 26 Jan 2010 05:02:42 +0000 (05:02 +0000)]
implement X86 @GOTOFF jump table entries with the new EK_Custom32
jump table entry kind, instead of overloading
AsmPrinter::printPICJumpTableEntry.

This has a pretty horrible and inefficient FIXME around how @GOTOFF
is currently smashed into the mcsymbol name, but otherwise this is
much cleaner.

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

14 years agoadd a new MachineBasicBlock::getSymbol method, replacing
Chris Lattner [Tue, 26 Jan 2010 04:55:51 +0000 (04:55 +0000)]
add a new MachineBasicBlock::getSymbol method, replacing
the AsmPrinter::GetMBBSymbol.

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

14 years agoNew PBQP solver.
Lang Hames [Tue, 26 Jan 2010 04:49:58 +0000 (04:49 +0000)]
New PBQP solver.

* Fixed a reduction bug which occasionally led to infinite-cost (invalid)
  register allocation solutions despite the existence finite-cost solutions.
* Significantly reduced memory usage (>50% reduction).
* Simplified a lot of the solver code.

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

14 years agoFix the the ceiling-division used in computing the MaxBECount so that it doesn't
Dan Gohman [Tue, 26 Jan 2010 04:40:18 +0000 (04:40 +0000)]
Fix the the ceiling-division used in computing the MaxBECount so that it doesn't
have trouble with an intermediate add overflowing. Also, be more conservative
about the case where the induction variable in an SLT loop exit can step past
the RHS of the SLT and overflow in a single step.

Make getSignedRange more aggressive, to recover for some common cases which
the above fixes pessimized.

This addresses rdar://7561161.

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

14 years agodon't bother setting the AsmPrinter::MF ivar, now that
Chris Lattner [Tue, 26 Jan 2010 04:38:11 +0000 (04:38 +0000)]
don't bother setting the AsmPrinter::MF ivar, now that
AsmPrinter::SetupMachineFunction sets it.  Note that systemz
and msp430 didn't.  Yay for reduced inconsistency! :)

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

14 years agomake MachineFunction keep track of its ID and make
Chris Lattner [Tue, 26 Jan 2010 04:35:26 +0000 (04:35 +0000)]
make MachineFunction keep track of its ID and make
MachineFunctionAnalysis dole them out, instead of having
AsmPrinter do both.  Have the AsmPrinter::SetupMachineFunction
method set the 'AsmPrinter::MF' variable.

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

14 years agothis hook should be const.
Chris Lattner [Tue, 26 Jan 2010 04:19:00 +0000 (04:19 +0000)]
this hook should be const.

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

14 years agoAdd a comment about a missed opportunity.
Dan Gohman [Tue, 26 Jan 2010 04:13:15 +0000 (04:13 +0000)]
Add a comment about a missed opportunity.

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

14 years agoPrint empty and full sets specially.
Dan Gohman [Tue, 26 Jan 2010 04:12:55 +0000 (04:12 +0000)]
Print empty and full sets specially.

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

14 years agoAdd support for target-specific 32-bit custom-lowered
Chris Lattner [Tue, 26 Jan 2010 04:05:28 +0000 (04:05 +0000)]
Add support for target-specific 32-bit custom-lowered
jump table entries.

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

14 years agoUnbreak MSVC/CMake build.
Daniel Dunbar [Tue, 26 Jan 2010 03:56:22 +0000 (03:56 +0000)]
Unbreak MSVC/CMake build.

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

14 years agomake jit jump table emission be based on the EntryKind instead of magic variables.
Chris Lattner [Tue, 26 Jan 2010 03:47:15 +0000 (03:47 +0000)]
make jit jump table emission be based on the EntryKind instead of magic variables.
JITInfo::getPICJumpTableEntry can probably be removed now, but I don't plan to do
this.

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

14 years agoswitch jump table entry emission to be based on EntryKind
Chris Lattner [Tue, 26 Jan 2010 03:43:22 +0000 (03:43 +0000)]
switch jump table entry emission to be based on EntryKind
instead of magic variables.

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

14 years agoIn mem2reg, for all alloca/stores that get promoted where the alloca has an associate...
Victor Hernandez [Tue, 26 Jan 2010 02:42:15 +0000 (02:42 +0000)]
In mem2reg, for all alloca/stores that get promoted where the alloca has an associated llvm.dbg.declare instrinsic, insert an llvm.dbg.var intrinsic before each store.

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

14 years agoAdd MDNode::getIfExists(), an efficient way to determine if a value is used by metada...
Victor Hernandez [Tue, 26 Jan 2010 02:36:35 +0000 (02:36 +0000)]
Add MDNode::getIfExists(), an efficient way to determine if a value is used by metadata (since metadata does not appear in a value's use list)

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

14 years agoAssert when debug intrinsic insert functions are passed empty arguments
Victor Hernandez [Tue, 26 Jan 2010 02:07:38 +0000 (02:07 +0000)]
Assert when debug intrinsic insert functions are passed empty arguments

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

14 years agoImplement cond ? -1 : 0 with sbb.
Evan Cheng [Tue, 26 Jan 2010 02:00:44 +0000 (02:00 +0000)]
Implement cond ? -1 : 0 with sbb.

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

14 years agoAccept immediate as value of a dbg_value.
Dale Johannesen [Tue, 26 Jan 2010 01:54:26 +0000 (01:54 +0000)]
Accept immediate as value of a dbg_value.

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

14 years agoRe-enable unit tests disabled in r94164 by telling GTest about the
Jeffrey Yasskin [Tue, 26 Jan 2010 01:26:46 +0000 (01:26 +0000)]
Re-enable unit tests disabled in r94164 by telling GTest about the
lack of RTTI.

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

14 years agoAdded the implementation of the Intel-specific
Sean Callanan [Tue, 26 Jan 2010 01:00:10 +0000 (01:00 +0000)]
Added the implementation of the Intel-specific
TargetAsmLexer.

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

14 years agoGenerate DEBUG_VALUE comments on x86. The (limited)
Dale Johannesen [Tue, 26 Jan 2010 00:09:58 +0000 (00:09 +0000)]
Generate DEBUG_VALUE comments on x86.  The (limited)
dbg.declare's we currently generate go through both
register allocators without perturbing the results.

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

14 years agoAdded the TargetAsmLexer implementation for AT&T syntax.
Sean Callanan [Tue, 26 Jan 2010 00:08:25 +0000 (00:08 +0000)]
Added the TargetAsmLexer implementation for AT&T syntax.

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

14 years agouse findDebugLoc in more places.
Dale Johannesen [Tue, 26 Jan 2010 00:03:12 +0000 (00:03 +0000)]
use findDebugLoc in more places.

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

14 years agoMinor jump table cleanup.
Jim Grosbach [Mon, 25 Jan 2010 23:50:13 +0000 (23:50 +0000)]
Minor jump table cleanup.

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

14 years agoin 32-bit pic mode for targets with a GOT, x86 emits jump table
Chris Lattner [Mon, 25 Jan 2010 23:38:14 +0000 (23:38 +0000)]
in 32-bit pic mode for targets with a GOT, x86 emits jump table
entries with @GOTOFF whih is EK_GPRel32BlockAddress.

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

14 years agofix quoting problem jim noticed!
Chris Lattner [Mon, 25 Jan 2010 23:28:03 +0000 (23:28 +0000)]
fix quoting problem jim noticed!

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

14 years agoRearrange handling of jump tables. Highlights:
Chris Lattner [Mon, 25 Jan 2010 23:26:13 +0000 (23:26 +0000)]
Rearrange handling of jump tables.  Highlights:
1. MachineJumpTableInfo is now created lazily for a function the first time
   it actually makes a jump table instead of for every function.
2. The encoding of jump table entries is now described by the
   MachineJumpTableInfo::JTEntryKind enum.  This enum is determined by the
   TLI::getJumpTableEncoding() hook, instead of by lots of code scattered
   throughout the compiler that "knows" that jump table entries are always
   32-bits in pic mode (for example).
3. The size and alignment of jump table entries is now calculated based on
   their kind, instead of at machinefunction creation time.

Future work includes using the EntryKind in more places in the compiler,
eliminating other logic that "knows" the layout of jump tables in various
situations.

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

14 years agoprep work to support a future where getJumpTableInfo will return
Chris Lattner [Mon, 25 Jan 2010 23:22:00 +0000 (23:22 +0000)]
prep work to support a future where getJumpTableInfo will return
a null pointer for functions with no jump tables.  No functionality
change.

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

14 years agoadd a method to get the alignment of an integer type even
Chris Lattner [Mon, 25 Jan 2010 23:18:11 +0000 (23:18 +0000)]
add a method to get the alignment of an integer type even
when we don't have one laying around.  Useful if you don't
have an llvmcontext handy.

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

14 years agoMake it SP, LR, PC for GPR Register Class instead of LR, SP, PC.
Johnny Chen [Mon, 25 Jan 2010 22:54:29 +0000 (22:54 +0000)]
Make it SP, LR, PC for GPR Register Class instead of LR, SP, PC.

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

14 years agoeliminate redundant argument to EmitJumpTableInfo
Chris Lattner [Mon, 25 Jan 2010 22:41:33 +0000 (22:41 +0000)]
eliminate redundant argument to EmitJumpTableInfo

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

14 years agoImplemented ARMInstPrinter::printThumbS4ImmOperand().
Johnny Chen [Mon, 25 Jan 2010 22:13:10 +0000 (22:13 +0000)]
Implemented ARMInstPrinter::printThumbS4ImmOperand().

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

14 years agoImplemented the dialect decision logic for the X86
Sean Callanan [Mon, 25 Jan 2010 21:59:20 +0000 (21:59 +0000)]
Implemented the dialect decision logic for the X86
TargetAsmLexer.  Dialect-specific lexing code will
be placed in the functions LexTokenATT() and
LexTokenIntel().

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

14 years agoFixed the order of GPR RegisterClass regs to be: ..., R10, R11, R12, ...
Johnny Chen [Mon, 25 Jan 2010 21:56:35 +0000 (21:56 +0000)]
Fixed the order of GPR RegisterClass regs to be: ..., R10, R11, R12, ...

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

14 years agoFix the bitcode reader to deserialize nuw/nsw/etc. bits properly in the case
Dan Gohman [Mon, 25 Jan 2010 21:55:39 +0000 (21:55 +0000)]
Fix the bitcode reader to deserialize nuw/nsw/etc. bits properly in the case
of a forward-reference, which doesn't use an "abbrev" encoding.

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

14 years agomcstreamerize gprel32 emission.
Chris Lattner [Mon, 25 Jan 2010 21:28:50 +0000 (21:28 +0000)]
mcstreamerize gprel32 emission.

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

14 years agoRemove check for an impossible condition: the condition of the while loop has
Bob Wilson [Mon, 25 Jan 2010 21:28:05 +0000 (21:28 +0000)]
Remove check for an impossible condition: the condition of the while loop has
already checked that TmpBB->getSinglePredecessor() is non-null.

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

14 years agomcize the non-gprel cases of AsmPrinter::printPICJumpTableEntry
Chris Lattner [Mon, 25 Jan 2010 21:22:22 +0000 (21:22 +0000)]
mcize the non-gprel cases of AsmPrinter::printPICJumpTableEntry

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

14 years agohandle the _set_ symbol with an MCSymbol.
Chris Lattner [Mon, 25 Jan 2010 21:17:10 +0000 (21:17 +0000)]
handle the _set_ symbol with an MCSymbol.

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

14 years agorename MAI::PICJumpTableDirective to MAI::GPRel32Directive to
Chris Lattner [Mon, 25 Jan 2010 21:10:10 +0000 (21:10 +0000)]
rename MAI::PICJumpTableDirective to MAI::GPRel32Directive to
make it clear what it is, instead of how it is used.

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

14 years agopull the non-pic jump table case out of printPICJumpTableEntry
Chris Lattner [Mon, 25 Jan 2010 21:01:58 +0000 (21:01 +0000)]
pull the non-pic jump table case out of printPICJumpTableEntry
and MCize the non-pic case.  Now printPICJumpTableEntry really
is just about printing PIC entries.

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

14 years agoremove JumpTableDirective, it is always null.
Chris Lattner [Mon, 25 Jan 2010 20:52:54 +0000 (20:52 +0000)]
remove JumpTableDirective, it is always null.

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

14 years agono need to implement these.
Chris Lattner [Mon, 25 Jan 2010 20:37:36 +0000 (20:37 +0000)]
no need to implement these.

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

14 years agomcize jump table symbol manipulation.
Chris Lattner [Mon, 25 Jan 2010 19:51:38 +0000 (19:51 +0000)]
mcize jump table symbol manipulation.

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

14 years agosink an arm specific method out of asmprinter into the ARMAsmPrinter and
Chris Lattner [Mon, 25 Jan 2010 19:39:52 +0000 (19:39 +0000)]
sink an arm specific method out of asmprinter into the ARMAsmPrinter and
rename it to avoid shadowing.

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

14 years agoremove dead code: the x86 target never sets usesGlobalOffsetTable,
Chris Lattner [Mon, 25 Jan 2010 19:23:04 +0000 (19:23 +0000)]
remove dead code: the x86 target never sets usesGlobalOffsetTable,
even on x86-32/elf which uses a GOT.

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

14 years agowirte up .file and .file to the mc asmparser.
Chris Lattner [Mon, 25 Jan 2010 19:02:58 +0000 (19:02 +0000)]
wirte up .file and .file to the mc asmparser.

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

14 years agomcstreamerize .file and .file. This also fixes an issue where the
Chris Lattner [Mon, 25 Jan 2010 18:58:59 +0000 (18:58 +0000)]
mcstreamerize .file and .file.  This also fixes an issue where the
normal form of .file would fail if the filename had a weird character
in it.

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

14 years agoemit ELF .type directives through MCStreamer instead of doing it textually.
Chris Lattner [Mon, 25 Jan 2010 18:33:40 +0000 (18:33 +0000)]
emit ELF .type directives through MCStreamer instead of doing it textually.

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

14 years agoadd symbol attribute support for the ELF .type directive.
Chris Lattner [Mon, 25 Jan 2010 18:30:45 +0000 (18:30 +0000)]
add symbol attribute support for the ELF .type directive.

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

14 years agoChange Value::getUnderlyingObject to have the MaxLookup value specified as a
Bob Wilson [Mon, 25 Jan 2010 18:26:54 +0000 (18:26 +0000)]
Change Value::getUnderlyingObject to have the MaxLookup value specified as a
parameter with a default value, instead of just hardcoding it in the
implementation.  The limit of MaxLookup = 6 was introduced in r69151 to fix
a performance problem with O(n^2) behavior in instcombine, but the scalarrepl
pass is relying on getUnderlyingObject to go all the way back to an AllocaInst.
Making the limit part of the method signature makes it clear that by default
the result is limited and should help avoid similar problems in the future.
This fixes pr6126.

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

14 years agoRevert r94260 until findDbgDeclare() is made more efficient
Victor Hernandez [Mon, 25 Jan 2010 17:52:13 +0000 (17:52 +0000)]
Revert r94260 until findDbgDeclare() is made more efficient

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

14 years agoUpdate test for darwin.
Rafael Espindola [Mon, 25 Jan 2010 15:32:10 +0000 (15:32 +0000)]
Update test for darwin.

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

14 years agoadd a comment
Chris Lattner [Mon, 25 Jan 2010 07:53:05 +0000 (07:53 +0000)]
add a comment

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

14 years agoemit the .size directive for global variables on ELF through
Chris Lattner [Mon, 25 Jan 2010 07:52:13 +0000 (07:52 +0000)]
emit the .size directive for global variables on ELF through
mcstreamer.

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

14 years agowe removed support for darwin8 tools.
Chris Lattner [Mon, 25 Jan 2010 07:43:40 +0000 (07:43 +0000)]
we removed support for darwin8 tools.

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

14 years agoall supported target now have aligned common support.
Chris Lattner [Mon, 25 Jan 2010 07:29:13 +0000 (07:29 +0000)]
all supported target now have aligned common support.

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

14 years agoRemove support for i386 tiger tools for aligned common symbols.
Chris Lattner [Mon, 25 Jan 2010 07:26:17 +0000 (07:26 +0000)]
Remove support for i386 tiger tools for aligned common symbols.
Previously we would just silently miscompile code that used aligned
common's, now at least you'll get a build error.  tiger-ppc already
triggered the build error because it didn't have a version of this
logic.

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

14 years agodon't set value to its default.
Chris Lattner [Mon, 25 Jan 2010 07:23:14 +0000 (07:23 +0000)]
don't set value to its default.

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

14 years agocoff targets support alignment on .comm
Chris Lattner [Mon, 25 Jan 2010 07:20:44 +0000 (07:20 +0000)]
coff targets support alignment on .comm

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

14 years agoARM does accept the .comm directive alignment.
Jim Grosbach [Mon, 25 Jan 2010 04:59:07 +0000 (04:59 +0000)]
ARM does accept the .comm directive alignment.

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

14 years agoFix autoconf llvm srcdir location for generic projects.
Eric Christopher [Mon, 25 Jan 2010 04:10:28 +0000 (04:10 +0000)]
Fix autoconf llvm srcdir location for generic projects.

Patch by Torvald Riegel!

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

14 years agoFix PR6134.
Rafael Espindola [Mon, 25 Jan 2010 02:27:39 +0000 (02:27 +0000)]
Fix PR6134.
We are not emitting alignments on Darwin for "bar". Not sure what is the
correct way to do it.

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

14 years agoAttempt to unbreak test on Linux. Chris, please check.
Daniel Dunbar [Mon, 25 Jan 2010 00:54:13 +0000 (00:54 +0000)]
Attempt to unbreak test on Linux. Chris, please check.

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

14 years agoThis example requires RTTI.
Daniel Dunbar [Mon, 25 Jan 2010 00:45:01 +0000 (00:45 +0000)]
This example requires RTTI.

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

14 years agolinux/ppc does use alignment in bytes, not pow-2. This fixes PR6129.
Chris Lattner [Sun, 24 Jan 2010 20:54:45 +0000 (20:54 +0000)]
linux/ppc does use alignment in bytes, not pow-2.  This fixes PR6129.
It looks like linux/arm and linux/mips have the same setting, which
are probably wrong.  Someone who cares about ARM and MIPS should
investigate with the testcase in PR6129.

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

14 years agodon't reset the default.
Chris Lattner [Sun, 24 Jan 2010 20:53:12 +0000 (20:53 +0000)]
don't reset the default.

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

14 years agomake -fno-rtti the default unless a directory builds with REQUIRES_RTTI.
Chris Lattner [Sun, 24 Jan 2010 20:43:08 +0000 (20:43 +0000)]
make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.

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

14 years agomark some libraries that currently require RTTI.
Chris Lattner [Sun, 24 Jan 2010 20:22:08 +0000 (20:22 +0000)]
mark some libraries that currently require RTTI.

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

14 years agolibs that need EH need RTTI.
Chris Lattner [Sun, 24 Jan 2010 20:21:50 +0000 (20:21 +0000)]
libs that need EH need RTTI.

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

14 years agoENABLE_EXPENSIVE_CHECKS shouldn't know how rtti is enabled, let REQUIRES_RTTI handle it.
Chris Lattner [Sun, 24 Jan 2010 20:20:40 +0000 (20:20 +0000)]
ENABLE_EXPENSIVE_CHECKS shouldn't know how rtti is enabled, let REQUIRES_RTTI handle it.

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

14 years agoreassociate should do this.
Chris Lattner [Sun, 24 Jan 2010 20:17:09 +0000 (20:17 +0000)]
reassociate should do this.

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

14 years agoadd a note.
Chris Lattner [Sun, 24 Jan 2010 20:01:41 +0000 (20:01 +0000)]
add a note.

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

14 years agojust remove this test, it is not reduced, is not clear what its testing for and
Chris Lattner [Sun, 24 Jan 2010 19:23:09 +0000 (19:23 +0000)]
just remove this test, it is not reduced, is not clear what its testing for and
it is dying due to fragility in the asmprinter .s comments.

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

14 years agothis test has been failing or a long time, just disable it for now to get
Chris Lattner [Sun, 24 Jan 2010 19:13:39 +0000 (19:13 +0000)]
this test has been failing or a long time, just disable it for now to get
back to green.

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

14 years agofix some issues where we weren't emitting enough newlines.
Chris Lattner [Sun, 24 Jan 2010 19:01:06 +0000 (19:01 +0000)]
fix some issues where we weren't emitting enough newlines.

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

14 years agowhen emitting DIEs, emit the comment on the same line as the directive.
Chris Lattner [Sun, 24 Jan 2010 18:54:17 +0000 (18:54 +0000)]
when emitting DIEs, emit the comment on the same line as the directive.
This fixes FrontendObjC/2009-11-30-Objc-ID.m

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

14 years agomove PR5945 here.
Chris Lattner [Sun, 24 Jan 2010 02:27:03 +0000 (02:27 +0000)]
move PR5945 here.

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

14 years agofix a parsing problem on instructions like:
Chris Lattner [Sun, 24 Jan 2010 01:07:33 +0000 (01:07 +0000)]
fix a parsing problem on instructions like:
movw $8, (_cost_table_-L97$pb)+66(%eax)

After the parens, we could still have a binop.

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

14 years agoThis corrects an error in the type of the Llvm.dispose_context function.
Chris Lattner [Sun, 24 Jan 2010 00:25:09 +0000 (00:25 +0000)]
This corrects an error in the type of the Llvm.dispose_context function.
Patch by James Woodyatt!

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

14 years agoIt seems better to scalarize vectors of size 1 instead of widening them.
Mon P Wang [Sun, 24 Jan 2010 00:24:43 +0000 (00:24 +0000)]
It seems better to scalarize vectors of size 1 instead of widening them.
Add support to widen SETCC.

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

14 years agochange the canonical form of "cond ? -1 : 0" to be
Chris Lattner [Sun, 24 Jan 2010 00:09:49 +0000 (00:09 +0000)]
change the canonical form of "cond ? -1 : 0" to be
"sext cond" instead of a select.  This simplifies some instcombine
code, matches the policy for zext (cond ? 1 : 0 -> zext), and allows
us to generate better code for a testcase on ppc.

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

14 years agoImproved widening loads by adding support for wider loads if
Mon P Wang [Sun, 24 Jan 2010 00:05:03 +0000 (00:05 +0000)]
Improved widening loads by adding support for wider loads if
the alignment allows.  Fixed a bug where we didn't use a
vector load/store for PR5626.

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

14 years agofix a potential overflow issue Eli pointed out.
Chris Lattner [Sat, 23 Jan 2010 23:31:46 +0000 (23:31 +0000)]
fix a potential overflow issue Eli pointed out.

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

14 years agoSpeculatively revert r94322 to see if it fixes darwin selfhost buildbot.
Nick Lewycky [Sat, 23 Jan 2010 20:32:12 +0000 (20:32 +0000)]
Speculatively revert r94322 to see if it fixes darwin selfhost buildbot.

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

14 years agothird bug from PR6119: the xor dupe extension allows
Chris Lattner [Sat, 23 Jan 2010 19:21:31 +0000 (19:21 +0000)]
third bug from PR6119: the xor dupe extension allows
for arbitrary terminators in predecessors, don't assume
it is a conditional or uncond branch.  The testcase shows
an example where they can happen with switches.

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

14 years agoTeach DAE that even though it can't modify the function signature of an
Nick Lewycky [Sat, 23 Jan 2010 19:19:34 +0000 (19:19 +0000)]
Teach DAE that even though it can't modify the function signature of an
externally visible function, it can still find all callers of it and replace
the parameters to a dead argument with undef.

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

14 years agoadd an early out to ProcessBranchOnXOR to speed it up,
Chris Lattner [Sat, 23 Jan 2010 19:16:25 +0000 (19:16 +0000)]
add an early out to ProcessBranchOnXOR to speed it up,
handle the case when we can infer an input to the xor
from all inputs that agree, instead of going into an
infinite loop.  Another part of PR6199

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

14 years agofix a crash in jump threading, PR6119
Chris Lattner [Sat, 23 Jan 2010 18:56:07 +0000 (18:56 +0000)]
fix a crash in jump threading, PR6119

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

14 years agoimplement a simple instcombine xform that has been in the
Chris Lattner [Sat, 23 Jan 2010 18:49:30 +0000 (18:49 +0000)]
implement a simple instcombine xform that has been in the
readme forever.

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