oota-llvm.git
14 years agollvm-mc/Mach-O: Unique sections properly, so we don't get duplicate text
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

14 years agollvm-mc/Mach-O: Don't put assembler temporary labels in the symbol table.
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

14 years agoDe-bork CMake build
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

14 years agoRework getPersonalityIndex slightly - 0 is now a valid and not-NULL
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

14 years agonobody includes llvm/ADT/iterator.h any more,
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

14 years agoIf we're emitting additional CIEs due to personality functions
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

14 years agoNuke trailing whitespace.
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

14 years agollvm-mc/Mach-O: Set .subsections_via_symbols flag properly.
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

14 years agoDon't submit test directory.
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

14 years agoAllocate the module provider in the Kaleidoscope code on the heap, not the stack...
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

14 years agoRemove all the LLVM_COMPACTIFY_SENTINELS-related macro magic as discussed with Chris...
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

14 years agoCMake: Removed outdated TODO.
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

14 years agoGenerate section for bss and enable weak symbols
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

14 years agoConvert some more Neon tests to FileCheck.
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

14 years agoAlter 79292 to produce output that actually assembles.
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

14 years agoAllow unsigned long long DenseMapInfo.
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

14 years agoRemove unneeded ARM-specific DAG nodes for VLD* and VST* Neon operations.
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

14 years agoAdd extload expansion for f128
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

14 years agoUnbreak FP128 stuff in cbe
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

14 years agoIgnore -fPIC test on Windows. Suggested by Yonggang Luo.
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

14 years agoUnbreak CMake build
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

14 years agoExpand scalar_to_vector - we don't have any isel logic for it now
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

14 years agoAdd comments detailing a known bug, so that people writing other
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

14 years ago-fast is now -O0. -fast-isel is no longer experimental.
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

14 years agoMove ProfileInfo::Edge's operator<< out of line. Among other benefits,
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

14 years agoBugfix for r80100, forgot include. Sorry.
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

14 years agoImplemented comments from Daniel Dunbar.
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

14 years agoDon't use INSERT_SUBREG to model anyext operations on x86-64, as it
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

14 years agoCreate a ScalarEvolution-based AliasAnalysis implementation.
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

14 years agoFix a missing newline, now that Value's operator<< doesn't add one of its own.
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

14 years agoUse SetVector instead of std::set so that alias relations are tested and
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

14 years agollvm-mc/Mach-O: Add support for relocations.
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

14 years agollvm-mc/Mach-O: Move symbol indices into the MCSymbolData structure.
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

14 years agollvm-mc/Mach-O: Dump relocations and section data (optionally) in my Mach-O dumper.
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

14 years agollvm-mc: Add symbol entries for undefined symbols used in .fill and .org.
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

14 years agoAdd dummy inline asm handling for 'r' constraint. This fixes PR4778
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

14 years agoMoved isDeclaration() check further down to allow for function counts for
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

14 years agollvm-mc: Change MCContext value table to take const MCSymbol*s.
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

14 years agollvm-mc: Make MCValue take const MCSymbol*s.
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

14 years agollvm-mc: Make non-sensical max bytes to .align an error.
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

14 years agoChanged std::cout to outs(), retaining formating.
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

14 years agoRevert 79977. It causes llvm-gcc bootstrap failures on some platforms.
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

14 years agosome mips and some sparc compilers apparently
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

14 years agotest commit
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

14 years agollvm-mc: Fix tests for python variations in int printing, sigh.
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

14 years agofix some funky indentation
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

14 years agollvm-mc/Mach-O: Add section padding where needed (to align the next section).
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

14 years agollvm-mc/Mach-O: Set addresses for symbols.
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

14 years agoAdd an 'inline hint' attribute to represent source
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

14 years agoAdd isClosure() predicate. This is used to add DW_AT_APPLE_block attribute.
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

14 years agollvm-mc: Improve indirect symbol support (add the indirect index table).
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

14 years agoRemove unused variables.
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

14 years agollvm-mc: Add MCSection::isDefined()
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

14 years agoFix the InsertAtEnd form of ShuffleVectorInst constructor to use
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

14 years agoEliminate the unused Context argument on one of the ICmpInst and FCmpInst
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

14 years agorevert r78628 and r78803 as these are not needed any more
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

14 years agoUpdated i128 sext support for CellSPU backend, contributed by Ken Werner (IBM)
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

14 years agoUse covariant return types for Instruction::clone, and eliminate
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

14 years agoGet rid of this horrible "benign race" by exploiting ManagedStatic to initialize
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

14 years agoThis should use isIndenticalToWhenDefined.
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

14 years agoRename Instruction::isIdenticalTo to Instruction::isIdenticalToWhenDefined,
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

14 years agoRevert last patch. We need to put this into TargetLowering. There will be a lot
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

14 years agore-committing yesterday's r79938.
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

14 years agollvm-mc: Add statistic for number of fragments emitted by the assembler.
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

14 years agoAdd the #include here.
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

14 years agoremove some dead lines.
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

14 years agoComment formatting. Removing of unused #include and type forwarding.
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

14 years agoconvert to filecheck style
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

14 years agoconvert to filecheck
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

14 years agoAdd a target asm info hook to specify that particular bits of data in the FDE
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

14 years agoEXIT STAGE LEFT: gccas, gccld
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

14 years agoStart refactoring PIC16 TargetObjectFile code. Eventually, all the stuff from
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

14 years agoSwitch abi-isel.ll to FileCheck; it's not much faster, but it now tests a lot
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

14 years agoDon't assume that two identical instructions that read from memory
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

14 years agoRemove some unused SDNode definitions.
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

14 years agoTeach ScalarEvolution about GlobalAliases.
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

14 years agoDelete some unnecessary flushes.
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

14 years agoUse X86II::MO_NO_FLAG.
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

14 years agoExpose the instruction contraint string as an argument to the NLdSt class.
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

14 years agoSpecial-case static allocas in IndVarSimplify's loop invariant
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

14 years agoComment-ify.
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

14 years agoSwitch to SmallVector.
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

14 years agoPull out this predicate loop into a helper function.
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

14 years agoFixup register kills after scheduling.
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

14 years agoProvide dynamic_stackalloc lowering for MSP430.
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

14 years agoRemove target triple from this test, it fails on x86-64 with
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

14 years agoAllocate the basic types inside the LLVMContextImpl instance,
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

14 years agoUpdate documentation for the -f change.
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

14 years agoFix a few typos from the removal of -f.
Dan Gohman [Tue, 25 Aug 2009 15:45:44 +0000 (15:45 +0000)]
Fix a few typos from the removal of -f.

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

14 years agoRemove obsolete -f flags.
Dan Gohman [Tue, 25 Aug 2009 15:38:29 +0000 (15:38 +0000)]
Remove obsolete -f flags.

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

14 years agoMake LLVM command-line tools overwrite their output files without -f.
Dan Gohman [Tue, 25 Aug 2009 15:34:52 +0000 (15:34 +0000)]
Make LLVM command-line tools overwrite their output files without -f.
This is conventional command-line tool behavior. -f now just means
"enable binary output on terminals".

Add a -f option to llvm-extract and llvm-link, for consistency.

Remove F_Force from raw_fd_ostream and enable overwriting and
truncating by default. Introduce an F_Excl flag to permit users to
enable a failure when the file already exists. This flag is
currently unused.

Update Makefiles and documentation accordingly.

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

14 years agoRead profile files as binary as proposed in
Andreas Neustifter [Tue, 25 Aug 2009 12:53:27 +0000 (12:53 +0000)]
Read profile files as binary as proposed in
http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-August/025020.html.

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

14 years agoFix PR4772 ARM JIT.GlobalInFuction unittest by explicitly initialize MMI
Xerxes Ranby [Tue, 25 Aug 2009 10:12:55 +0000 (10:12 +0000)]
Fix PR4772 ARM JIT.GlobalInFuction unittest by explicitly initialize MMI
to 0 during JITEmitter constructor.

Modified:
lib/ExecutionEngine/JIT/JITEmitter.cpp

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

14 years ago- Rename EmitCommonInformationEntry to EmitCIE.
Bill Wendling [Tue, 25 Aug 2009 08:08:33 +0000 (08:08 +0000)]
- Rename EmitCommonInformationEntry to EmitCIE.
- Rename EmitFunctionDescriptionEntry to EmitFDE.

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

14 years agoUpdate DebugInfo interface to use metadata, instead of special named llvm.dbg......
Devang Patel [Tue, 25 Aug 2009 05:24:07 +0000 (05:24 +0000)]
Update DebugInfo interface to use metadata, instead of special named llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well.

This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!)

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

14 years ago- Emit new line after each FDE.
Bill Wendling [Tue, 25 Aug 2009 02:32:05 +0000 (02:32 +0000)]
- Emit new line after each FDE.
- Fix comment.

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

14 years agoRename functions to something more descriptive. At the very least mention the
Bill Wendling [Tue, 25 Aug 2009 02:27:42 +0000 (02:27 +0000)]
Rename functions to something more descriptive. At the very least mention the
CIE and FDE in their names.

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

14 years agoAllow multiple occurrences of -inline-threshold on
Dale Johannesen [Tue, 25 Aug 2009 01:13:58 +0000 (01:13 +0000)]
Allow multiple occurrences of -inline-threshold on
the command line.  This gives llvm-gcc developers
a way to control inlining (documented as "not intended
for end users").

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

14 years agoHandle a corner case when extracing code regions where one of the immediate successor
Owen Anderson [Tue, 25 Aug 2009 00:54:39 +0000 (00:54 +0000)]
Handle a corner case when extracing code regions where one of the immediate successor
of an extracted block contains a PHI using a value defined in the extracted region.

With this patch, the partial inliner now passes MultiSource/Applications.

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

14 years agoFix PR 4751, another difficulty with %a modifier on x86.
Dale Johannesen [Tue, 25 Aug 2009 00:16:14 +0000 (00:16 +0000)]
Fix PR 4751, another difficulty with %a modifier on x86.

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