Mikhail Glushenkov [Tue, 26 Jan 2010 14:55:44 +0000 (14:55 +0000)]
Support -arch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94546
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 26 Jan 2010 14:55:30 +0000 (14:55 +0000)]
Support for -iquote.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94545
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 26 Jan 2010 14:55:16 +0000 (14:55 +0000)]
Better error message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94544
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 26 Jan 2010 14:55:04 +0000 (14:55 +0000)]
Escape double quotes in 'help'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94543
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 26 Jan 2010 11:58:04 +0000 (11:58 +0000)]
Tweak the way appendModuleInlineAsm works, so you aren't obliged
to append a newline when using setModuleInlineAsm in case later
someone calls appendModuleInlineAsm - make newline handling fully
automatic. In case anyone is wondering there is only one user of
appendModuleInlineAsm: the dragonegg plugin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94539
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Tue, 26 Jan 2010 08:50:50 +0000 (08:50 +0000)]
Regenerate configure.
With the previous cleanup to configure.ac, configure is now only 393k, instead of 1.1M!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94535
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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