oota-llvm.git
15 years agollvm-mc/Mach-O: Add MCCodeEmitter support, for encoding instructions.
Daniel Dunbar [Thu, 27 Aug 2009 08:17:51 +0000 (08:17 +0000)]
llvm-mc/Mach-O: Add MCCodeEmitter support, for encoding instructions.
 - No relocations yet, of course.

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

15 years agollvm-mc/X86: Implement single instruction encoding interface for MC.
Daniel Dunbar [Thu, 27 Aug 2009 08:12:55 +0000 (08:12 +0000)]
llvm-mc/X86: Implement single instruction encoding interface for MC.
 - Note, this is a gigantic hack, with the sole purpose of unblocking further
   work on the assembler (its also possible to test the mathcer more completely
   now).

 - Despite being a hack, its actually good enough to work over all of 403.gcc
   (although some encodings are probably incorrect). This is a testament to the
   beauty of X86's MachineInstr, no doubt! ;)

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

15 years agollvm-mc: Print encodings after the instruction, and only when we have an asm
Daniel Dunbar [Thu, 27 Aug 2009 07:58:57 +0000 (07:58 +0000)]
llvm-mc: Print encodings after the instruction, and only when we have an asm
printer.

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

15 years agoX86: Mark EH_RETURN as code-gen-only.
Daniel Dunbar [Thu, 27 Aug 2009 07:58:05 +0000 (07:58 +0000)]
X86: Mark EH_RETURN as code-gen-only.

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

15 years agoAdd {MCInst,MCOperand}::{print,dump}
Daniel Dunbar [Thu, 27 Aug 2009 07:57:12 +0000 (07:57 +0000)]
Add {MCInst,MCOperand}::{print,dump}

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

15 years agollvm-mc: Only show instruction encodings with --show-encoding.
Daniel Dunbar [Thu, 27 Aug 2009 07:56:39 +0000 (07:56 +0000)]
llvm-mc: Only show instruction encodings with --show-encoding.

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

15 years agothe buildbots revealed one more breakage. fix. (why didn't I see this?)
Gabor Greif [Thu, 27 Aug 2009 06:59:20 +0000 (06:59 +0000)]
the buildbots revealed one more breakage. fix. (why didn't I see this?)

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

15 years agoClean up the minor mess I caused with removing iterator.h. I shall take care of 80...
Gabor Greif [Thu, 27 Aug 2009 06:41:46 +0000 (06:41 +0000)]
Clean up the minor mess I caused with removing iterator.h. I shall take care of 80-col violations and the FIXME later. (Thanks goodness that I live in another continent, so the monkeypox did not strike me :-)

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

15 years agoImplement a new optimization in the inliner: if inlining multiple
Chris Lattner [Thu, 27 Aug 2009 06:29:33 +0000 (06:29 +0000)]
Implement a new optimization in the inliner: if inlining multiple
calls into a function and if the calls bring in arrays, try to merge
them together to reduce stack size.  For example, in the testcase
we'd previously end up with 4 allocas, now we end up with 2 allocas.

As described in the comments, this is not really the ideal solution
to this problem, but it is surprisingly effective.  For example, on
176.gcc, we end up eliminating 67 arrays at "gccas" time and another
24 at "llvm-ld" time.

One piece of concern that I didn't look into: at -O0 -g with
forced inlining this will almost certainly result in worse debug
info.  I think this is acceptable though given that this is a case
of "debugging optimized code", and we don't want debug info to
prevent the optimizer from doing things anyway.

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

15 years agothe inliner shouldn't crash on this.
Chris Lattner [Thu, 27 Aug 2009 06:20:45 +0000 (06:20 +0000)]
the inliner shouldn't crash on this.

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

15 years agoFor now, only run MC tests if X86 is configured.
Daniel Dunbar [Thu, 27 Aug 2009 06:11:15 +0000 (06:11 +0000)]
For now, only run MC tests if X86 is configured.

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

15 years agoThis is passing for PPC on Mac OS X.
Bill Wendling [Thu, 27 Aug 2009 05:49:50 +0000 (05:49 +0000)]
This is passing for PPC on Mac OS X.

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

15 years agoRevert accidental commit.
Bill Wendling [Thu, 27 Aug 2009 05:35:28 +0000 (05:35 +0000)]
Revert accidental commit.

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

15 years agounbreak the build, yay for symlinks + makefiles. :(
Chris Lattner [Thu, 27 Aug 2009 04:43:05 +0000 (04:43 +0000)]
unbreak the build, yay for symlinks + makefiles. :(

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

15 years agoreduce header #include'age
Chris Lattner [Thu, 27 Aug 2009 04:32:07 +0000 (04:32 +0000)]
reduce header #include'age

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

15 years agoenhance InlineFunction to be able to optionally return
Chris Lattner [Thu, 27 Aug 2009 04:20:52 +0000 (04:20 +0000)]
enhance InlineFunction to be able to optionally return
a the list of static allocas that it inlined.

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

15 years agosmallvectorize the list of returns built by CloneAndPruneFunctionInto.
Chris Lattner [Thu, 27 Aug 2009 04:02:30 +0000 (04:02 +0000)]
smallvectorize the list of returns built by CloneAndPruneFunctionInto.

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

15 years agoremove CloneTrace, which appears to be dead since 2004.
Chris Lattner [Thu, 27 Aug 2009 03:56:43 +0000 (03:56 +0000)]
remove CloneTrace, which appears to be dead since 2004.

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

15 years agoreduce inlining factor some stuff out to a static helper function,
Chris Lattner [Thu, 27 Aug 2009 03:51:50 +0000 (03:51 +0000)]
reduce inlining factor some stuff out to a static helper function,
and other code cleanups.  No functionality change.

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

15 years agoRevert accidental commit.
Bill Wendling [Thu, 27 Aug 2009 03:32:50 +0000 (03:32 +0000)]
Revert accidental commit.

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

15 years ago--- Reverse-merging r80147 into '.':
Bill Wendling [Thu, 27 Aug 2009 03:29:26 +0000 (03:29 +0000)]
--- Reverse-merging r80147 into '.':
A    include/llvm/ADT/iterator.cmake
U    autoconf/configure.ac
--- Reverse-merging r80161 into '.':
U    cmake/config-ix.cmake
--- Reverse-merging r80171 into '.':
U    Makefile
--- Reverse-merging r80173 into '.':
U    configure
U    include/llvm/Config/config.h.in
--- Reverse-merging r80180 into '.':
A    include/llvm/ADT/iterator.h.in

Despite common miscomceptions, iterator.h is alive and well. It broke the build
bots for several hours. And yet no one bothered to look at them.

Gabor and Doug, please review your changes and make sure that they actually
build before resubmitting them.

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

15 years agoAdd some checks for MachineCFG consistency. Use AnalyzeBranch and
Dan Gohman [Thu, 27 Aug 2009 02:43:49 +0000 (02:43 +0000)]
Add some checks for MachineCFG consistency. Use AnalyzeBranch and
do extra checking when it succeeds, as those are cases where
CodeGen will be doing particularly interesting CFG modifications.

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

15 years agoUpdate CMake
Daniel Dunbar [Thu, 27 Aug 2009 02:08:37 +0000 (02:08 +0000)]
Update CMake

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

15 years agollvm-mc: Tweak MCCodeEmitter skeleton.
Daniel Dunbar [Thu, 27 Aug 2009 01:34:22 +0000 (01:34 +0000)]
llvm-mc: Tweak MCCodeEmitter skeleton.

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

15 years agoInitialize the PoisonMemory member before initializing
Dan Gohman [Thu, 27 Aug 2009 01:25:57 +0000 (01:25 +0000)]
Initialize the PoisonMemory member before initializing
members that call methods that read the PoisonMemory member.
This fixes potential spurious (though probably otherwise
harmless) poising of unused memory, and fixes the
associated valgrind error.

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

15 years agoFix PR4789. Teach eliminateFrameIndex how to handle VLDRQ and VSTRQ which cannot...
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

15 years agoAdd missing declarations.
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

15 years agoSketch TargetRegistry support for MCCodeEmitter abstract interface.
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

15 years agoTry to make MSVC just a little happier.
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

15 years agoX86FastISel support for loading and storing values of type i1.
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

15 years agoExpand i8 selects into control flow instead of 16-bit conditional
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

15 years agonow that include/llvm/ADT/iterator.h.in is not attempted to be built, its prerequisit...
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

15 years agoSimplify.
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

15 years agoRegenerate configure
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

15 years agoeliminate references to ADT/iterator.h
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

15 years agoMake this into a static method.
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

15 years agoFix bad length argument to substr calls. Apparently I'm the first one to
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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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