Evan Cheng [Thu, 27 Aug 2009 01:23:50 +0000 (01:23 +0000)]
Fix PR4789. Teach eliminateFrameIndex how to handle VLDRQ and VSTRQ which cannot fold any immediate offset.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80191
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 27 Aug 2009 01:15:54 +0000 (01:15 +0000)]
Add missing declarations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80190
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 27 Aug 2009 00:51:57 +0000 (00:51 +0000)]
Sketch TargetRegistry support for MCCodeEmitter abstract interface.
- Of course, nothing actually can provide this interface yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80188
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 27 Aug 2009 00:38:04 +0000 (00:38 +0000)]
Try to make MSVC just a little happier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80187
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 27 Aug 2009 00:31:47 +0000 (00:31 +0000)]
X86FastISel support for loading and storing values of type i1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80186
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 27 Aug 2009 00:14:12 +0000 (00:14 +0000)]
Expand i8 selects into control flow instead of 16-bit conditional
moves. This avoids the need to promote the operands (or implicitly
extend them, a partial register update condition), and can reduce
i8 register pressure. This substantially speeds up code such as
write_hex in lib/Support/raw_ostream.cpp.
subclass-coalesce.ll is too trivial and no longer tests what it was
originally intended to test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80184
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 26 Aug 2009 23:35:33 +0000 (23:35 +0000)]
now that include/llvm/ADT/iterator.h.in is not attempted to be built, its prerequisite can go away too
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80180
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 23:12:33 +0000 (23:12 +0000)]
Simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80176
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 26 Aug 2009 22:59:05 +0000 (22:59 +0000)]
Regenerate configure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80173
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 26 Aug 2009 22:55:19 +0000 (22:55 +0000)]
eliminate references to ADT/iterator.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80171
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 26 Aug 2009 22:55:11 +0000 (22:55 +0000)]
Make this into a static method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80170
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 26 Aug 2009 22:50:39 +0000 (22:50 +0000)]
Fix bad length argument to substr calls. Apparently I'm the first one to
attempt more than 2 constraints on an instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80169
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 22:49:51 +0000 (22:49 +0000)]
llvm-mc/Mach-O: Unique sections properly, so we don't get duplicate text
sections, etc.
- The quick and dirty way, just clone the TargetLoweringObjectFile
code. Eventually this should be shared... somehow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80168
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 22:13:22 +0000 (22:13 +0000)]
llvm-mc/Mach-O: Don't put assembler temporary labels in the symbol table.
- I moved section creation back into AsmParser. I think policy decisions like
this should be pushed higher, not lower, when possible (in addition the
assembler has flags which change this behavior, for example).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80162
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 26 Aug 2009 22:12:02 +0000 (22:12 +0000)]
De-bork CMake build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80161
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 26 Aug 2009 21:44:57 +0000 (21:44 +0000)]
Rework getPersonalityIndex slightly - 0 is now a valid and not-NULL
personality function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80153
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 26 Aug 2009 21:36:59 +0000 (21:36 +0000)]
nobody includes llvm/ADT/iterator.h any more,
so get rid of this monstrosity. iterator.h.in is scheduled for deletion in my working copy,
but I wait till I see that configure gets regenerated, as it depends on it. I'll commit
then.
There are still some AC_* tests in the configure.ac dealing with iterators, those can
be zapped probably too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80147
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 26 Aug 2009 21:30:49 +0000 (21:30 +0000)]
If we're emitting additional CIEs due to personality functions
don't emit the default one. Explicitly check for the NULL
CIE later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80146
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 26 Aug 2009 21:27:09 +0000 (21:27 +0000)]
Nuke trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80145
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 21:22:22 +0000 (21:22 +0000)]
llvm-mc/Mach-O: Set .subsections_via_symbols flag properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80144
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 26 Aug 2009 21:00:34 +0000 (21:00 +0000)]
Don't submit test directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80139
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Wed, 26 Aug 2009 20:58:25 +0000 (20:58 +0000)]
Allocate the module provider in the Kaleidoscope code on the heap, not the stack, so that it can be properly deleted. Also update the tutorial with the new code. This fixes PR4762, hopefully better than the last time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80138
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 26 Aug 2009 19:16:32 +0000 (19:16 +0000)]
Remove all the LLVM_COMPACTIFY_SENTINELS-related macro magic as discussed with Chris on IRC. Anybody wanting to debug sentinel dereferencing problems must revert this patch and perform the indicated modifications.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80128
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Wed, 26 Aug 2009 18:37:05 +0000 (18:37 +0000)]
CMake: Removed outdated TODO.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80124
91177308-0d34-0410-b5e6-
96231b3b80d8
Venkatraman Govindaraju [Wed, 26 Aug 2009 18:24:12 +0000 (18:24 +0000)]
Generate section for bss and enable weak symbols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80121
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 26 Aug 2009 18:11:50 +0000 (18:11 +0000)]
Convert some more Neon tests to FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80120
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 26 Aug 2009 18:10:32 +0000 (18:10 +0000)]
Alter 79292 to produce output that actually assembles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80119
91177308-0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 26 Aug 2009 18:02:19 +0000 (18:02 +0000)]
Allow unsigned long long DenseMapInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80118
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 26 Aug 2009 17:39:53 +0000 (17:39 +0000)]
Remove unneeded ARM-specific DAG nodes for VLD* and VST* Neon operations.
The instructions can be selected directly from the intrinsics. We will need
to add some ARM-specific nodes for VLD/VST of 3 and 4 128-bit vectors, but
those are not yet implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80117
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 26 Aug 2009 17:39:40 +0000 (17:39 +0000)]
Add extload expansion for f128
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80116
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 26 Aug 2009 17:39:23 +0000 (17:39 +0000)]
Unbreak FP128 stuff in cbe
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80115
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Wed, 26 Aug 2009 17:05:06 +0000 (17:05 +0000)]
Ignore -fPIC test on Windows. Suggested by Yonggang Luo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80111
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 26 Aug 2009 16:33:57 +0000 (16:33 +0000)]
Unbreak CMake build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80109
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 26 Aug 2009 16:26:09 +0000 (16:26 +0000)]
Expand scalar_to_vector - we don't have any isel logic for it now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80107
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 26 Aug 2009 16:06:11 +0000 (16:06 +0000)]
Add comments detailing a known bug, so that people writing other
backends don't use it as an example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80105
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 26 Aug 2009 15:57:57 +0000 (15:57 +0000)]
-fast is now -O0. -fast-isel is no longer experimental.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80104
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 26 Aug 2009 15:56:38 +0000 (15:56 +0000)]
Move ProfileInfo::Edge's operator<< out of line. Among other benefits,
this eliminates the ATTRIBUTE_USED, which wasn't being used in a manner
acceptable to some GCC versions, according to the buildbots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80103
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Neustifter [Wed, 26 Aug 2009 15:18:38 +0000 (15:18 +0000)]
Bugfix for r80100, forgot include. Sorry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80101
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Neustifter [Wed, 26 Aug 2009 15:13:44 +0000 (15:13 +0000)]
Implemented comments from Daniel Dunbar.
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-
20090817/084958.html)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80100
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 26 Aug 2009 14:59:13 +0000 (14:59 +0000)]
Don't use INSERT_SUBREG to model anyext operations on x86-64, as it
leads to partial-register definitions. To help avoid redundant
zero-extensions, also teach the h-register matching patterns that
use movzbl to match anyext as well as zext.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80099
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 26 Aug 2009 14:53:06 +0000 (14:53 +0000)]
Create a ScalarEvolution-based AliasAnalysis implementation.
This is a simple AliasAnalysis implementation which works by making
ScalarEvolution queries. ScalarEvolution has a more complete understanding
of arithmetic than BasicAA's collection of ad-hoc checks, so it handles
some cases that BasicAA misses, for example p[i] and p[i+1] within the
same iteration of a loop.
This is currently experimental. It may be that the main use for this pass
will be to help find cases where BasicAA can be profitably extended, or
to help in the development of the overall AliasAnalysis infrastructure,
however it's also possible that it could grow up to become a directly
useful pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80098
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 26 Aug 2009 14:34:12 +0000 (14:34 +0000)]
Fix a missing newline, now that Value's operator<< doesn't add one of its own.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80096
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 26 Aug 2009 14:32:17 +0000 (14:32 +0000)]
Use SetVector instead of std::set so that alias relations are tested and
printed in a deterministic order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80095
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 13:58:10 +0000 (13:58 +0000)]
llvm-mc/Mach-O: Add support for relocations.
- I haven't really tried to find the "right" way to store the fixups or apply
them, yet. This works, but isn't particularly elegant or fast.
- Still no evaluation support, so we don't actually ever not turn a fixup into
a relocation entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80089
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 13:57:54 +0000 (13:57 +0000)]
llvm-mc/Mach-O: Move symbol indices into the MCSymbolData structure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80088
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 13:57:44 +0000 (13:57 +0000)]
llvm-mc/Mach-O: Dump relocations and section data (optionally) in my Mach-O dumper.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80087
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 13:57:37 +0000 (13:57 +0000)]
llvm-mc: Add symbol entries for undefined symbols used in .fill and .org.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80086
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 26 Aug 2009 13:44:29 +0000 (13:44 +0000)]
Add dummy inline asm handling for 'r' constraint. This fixes PR4778
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80085
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Neustifter [Wed, 26 Aug 2009 13:33:09 +0000 (13:33 +0000)]
Moved isDeclaration() check further down to allow for function counts for
declarations if necessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80084
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 09:16:57 +0000 (09:16 +0000)]
llvm-mc: Change MCContext value table to take const MCSymbol*s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80079
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 09:16:46 +0000 (09:16 +0000)]
llvm-mc: Make MCValue take const MCSymbol*s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80078
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 09:16:34 +0000 (09:16 +0000)]
llvm-mc: Make non-sensical max bytes to .align an error.
Also, warn about overflow in alignment values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80077
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Neustifter [Wed, 26 Aug 2009 09:05:21 +0000 (09:05 +0000)]
Changed std::cout to outs(), retaining formating.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80076
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 26 Aug 2009 05:01:18 +0000 (05:01 +0000)]
Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80073
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Aug 2009 05:00:16 +0000 (05:00 +0000)]
some mips and some sparc compilers apparently
predefine mips and sparc respectively. Just overrule them :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80072
91177308-0d34-0410-b5e6-
96231b3b80d8
Venkatraman Govindaraju [Wed, 26 Aug 2009 04:50:17 +0000 (04:50 +0000)]
test commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80070
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 04:28:45 +0000 (04:28 +0000)]
llvm-mc: Fix tests for python variations in int printing, sigh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80069
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Aug 2009 04:21:30 +0000 (04:21 +0000)]
fix some funky indentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80068
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 04:13:32 +0000 (04:13 +0000)]
llvm-mc/Mach-O: Add section padding where needed (to align the next section).
Also, simplify some of Mach-O writer code which can now use section addresses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80067
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 02:48:04 +0000 (02:48 +0000)]
llvm-mc/Mach-O: Set addresses for symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80065
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 26 Aug 2009 01:08:21 +0000 (01:08 +0000)]
Add an 'inline hint' attribute to represent source
code hints that it would be a good idea to inline
a function ("inline" keyword). No functional change
yet; FEs do not emit this and inliner does not use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80063
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 26 Aug 2009 00:39:50 +0000 (00:39 +0000)]
Add isClosure() predicate. This is used to add DW_AT_APPLE_block attribute.
Patch by Caroline Tice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80061
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 00:18:21 +0000 (00:18 +0000)]
llvm-mc: Improve indirect symbol support (add the indirect index table).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80059
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 26 Aug 2009 00:13:22 +0000 (00:13 +0000)]
Remove unused variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80058
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Aug 2009 00:10:55 +0000 (00:10 +0000)]
llvm-mc: Add MCSection::isDefined()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80057
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 25 Aug 2009 23:27:45 +0000 (23:27 +0000)]
Fix the InsertAtEnd form of ShuffleVectorInst constructor to use
the correct type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80050
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 25 Aug 2009 23:17:54 +0000 (23:17 +0000)]
Eliminate the unused Context argument on one of the ICmpInst and FCmpInst
constructors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80049
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Tue, 25 Aug 2009 23:02:21 +0000 (23:02 +0000)]
revert r78628 and r78803 as these are not needed any more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80048
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Tue, 25 Aug 2009 22:37:34 +0000 (22:37 +0000)]
Updated i128 sext support for CellSPU backend, contributed by Ken Werner (IBM)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80042
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 25 Aug 2009 22:29:08 +0000 (22:29 +0000)]
Use covariant return types for Instruction::clone, and eliminate
the forms of ExtractElementInst and InsertElementInst that are
equivalent to clone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80041
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 25 Aug 2009 22:27:22 +0000 (22:27 +0000)]
Get rid of this horrible "benign race" by exploiting ManagedStatic to initialize
the array on its first access.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80040
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 25 Aug 2009 22:24:20 +0000 (22:24 +0000)]
This should use isIndenticalToWhenDefined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80039
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 25 Aug 2009 22:11:20 +0000 (22:11 +0000)]
Rename Instruction::isIdenticalTo to Instruction::isIdenticalToWhenDefined,
and introduce a new Instruction::isIdenticalTo which tests for full
identity, including the SubclassOptionalData flags. Also, fix the
Instruction::clone implementations to preserve the SubclassOptionalData
flags. Finally, teach several optimizations how to handle
SubclassOptionalData correctly, given these changes.
This fixes the counterintuitive behavior of isIdenticalTo not comparing
the full value, and clone not returning an identical clone, as well as
some subtle bugs that could be caused by these.
Thanks to Nick Lewycky for reporting this, and for an initial patch!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80038
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 25 Aug 2009 21:31:39 +0000 (21:31 +0000)]
Revert last patch. We need to put this into TargetLowering. There will be a lot
of EH stuff going into there, so we can wait to add them all then.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80036
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Tue, 25 Aug 2009 21:25:22 +0000 (21:25 +0000)]
re-committing yesterday's r79938.
This time there is no additional include of llvm/Config/config.h
at all. Instead I use a hard-coded preprecessor symbol:
LLVM_COMPACTIFY_SENTINELS
(should this work on the self-hosting buildbot, then
cleanups come next)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80035
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 25 Aug 2009 21:10:45 +0000 (21:10 +0000)]
llvm-mc: Add statistic for number of fragments emitted by the assembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80033
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 25 Aug 2009 21:09:50 +0000 (21:09 +0000)]
Add the #include here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80032
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Aug 2009 21:01:56 +0000 (21:01 +0000)]
remove some dead lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80031
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 25 Aug 2009 21:01:42 +0000 (21:01 +0000)]
Comment formatting. Removing of unused #include and type forwarding.
OCD is fun!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80030
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Aug 2009 20:57:38 +0000 (20:57 +0000)]
convert to filecheck style
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80029
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Aug 2009 20:49:04 +0000 (20:49 +0000)]
convert to filecheck
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80025
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 25 Aug 2009 20:21:17 +0000 (20:21 +0000)]
Add a target asm info hook to specify that particular bits of data in the FDE
should be forced to 32-bits (.long) even on 64-bit architectures. Darwin wants
these bits to be 64-bits (.quad). However, other platforms may disagree.
This is just the info right now and is part of a work-in-progress which needs
this. We'll add the actual *use* of this soon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80024
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 25 Aug 2009 20:21:09 +0000 (20:21 +0000)]
EXIT STAGE LEFT: gccas, gccld
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80023
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Tue, 25 Aug 2009 19:39:05 +0000 (19:39 +0000)]
Start refactoring PIC16 TargetObjectFile code. Eventually, all the stuff from
PIC16Section will move to MCSectionPIC16.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80021
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 25 Aug 2009 18:45:03 +0000 (18:45 +0000)]
Switch abi-isel.ll to FileCheck; it's not much faster, but it now tests a lot
more and is much nicer to the OS.
- Dan, please check. If there are parts of the test you think I should strip
out so it doesn't cause random failures let me know (there are still some PIC
label numbers in it, for example).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80019
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 25 Aug 2009 17:56:57 +0000 (17:56 +0000)]
Don't assume that two identical instructions that read from memory
will always return the same value. This isn't currently necessary,
since this code doesn't currently ever get called under circumstances
where it would matter, but it may some day.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80017
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 25 Aug 2009 17:52:39 +0000 (17:52 +0000)]
Remove some unused SDNode definitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80015
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 25 Aug 2009 17:49:57 +0000 (17:49 +0000)]
Teach ScalarEvolution about GlobalAliases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80014
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 25 Aug 2009 17:48:17 +0000 (17:48 +0000)]
Delete some unnecessary flushes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80013
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 25 Aug 2009 17:47:44 +0000 (17:47 +0000)]
Use X86II::MO_NO_FLAG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80012
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 25 Aug 2009 17:46:06 +0000 (17:46 +0000)]
Expose the instruction contraint string as an argument to the NLdSt class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80011
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 25 Aug 2009 17:42:10 +0000 (17:42 +0000)]
Special-case static allocas in IndVarSimplify's loop invariant
sinking code, since they are special. If the loop preheader happens
to be the entry block of a function, don't sink static allocas
out of it. This fixes PR4775.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80010
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 25 Aug 2009 17:42:07 +0000 (17:42 +0000)]
Comment-ify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80009
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 25 Aug 2009 17:35:37 +0000 (17:35 +0000)]
Switch to SmallVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80007
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 25 Aug 2009 17:26:32 +0000 (17:26 +0000)]
Pull out this predicate loop into a helper function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80006
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 25 Aug 2009 17:03:05 +0000 (17:03 +0000)]
Fixup register kills after scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80002
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 25 Aug 2009 17:00:23 +0000 (17:00 +0000)]
Provide dynamic_stackalloc lowering for MSP430.
This fixes PR4769
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80001
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Tue, 25 Aug 2009 16:53:15 +0000 (16:53 +0000)]
Remove target triple from this test, it fails on x86-64 with
--enable-targets=host-only otherwise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80000
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 25 Aug 2009 16:00:35 +0000 (16:00 +0000)]
Allocate the basic types inside the LLVMContextImpl instance,
rather than separately with new. Move the members above the
TypeMap members to avoid destruction order issues. This fixes
a leak of these objects, and eliminates an extra level of
indirection in Type::getInt32Ty and friends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79997
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 25 Aug 2009 15:54:01 +0000 (15:54 +0000)]
Update documentation for the -f change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79996
91177308-0d34-0410-b5e6-
96231b3b80d8