oota-llvm.git
13 years agoOops.
Owen Anderson [Tue, 20 Jul 2010 18:53:25 +0000 (18:53 +0000)]
Oops.

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

13 years agoUpdate header.
Eric Christopher [Tue, 20 Jul 2010 18:46:43 +0000 (18:46 +0000)]
Update header.

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

13 years agoConvert the internal PassRegistrar class into a new, external PassRegistry class...
Owen Anderson [Tue, 20 Jul 2010 18:39:06 +0000 (18:39 +0000)]
Convert the internal PassRegistrar class into a new, external PassRegistry class.  No intended functionality change at this point.

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

13 years agoedis needs to link in mcdisassembler.
Chris Lattner [Tue, 20 Jul 2010 18:35:23 +0000 (18:35 +0000)]
edis needs to link in mcdisassembler.

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

13 years agoupdate cmake.
Chris Lattner [Tue, 20 Jul 2010 18:33:29 +0000 (18:33 +0000)]
update cmake.

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

13 years agohopefully teach cmake to build the .inc file.
Chris Lattner [Tue, 20 Jul 2010 18:33:21 +0000 (18:33 +0000)]
hopefully teach cmake to build the .inc file.

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

13 years agoedinfo doesn't need to be built here.
Chris Lattner [Tue, 20 Jul 2010 18:31:54 +0000 (18:31 +0000)]
edinfo doesn't need to be built here.

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

13 years agocmake too
Chris Lattner [Tue, 20 Jul 2010 18:30:37 +0000 (18:30 +0000)]
cmake too

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

13 years agoforgot to add a file
Chris Lattner [Tue, 20 Jul 2010 18:29:50 +0000 (18:29 +0000)]
forgot to add a file

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

13 years agostart straightening out libedis's dependencies and make it fit
Chris Lattner [Tue, 20 Jul 2010 18:25:19 +0000 (18:25 +0000)]
start straightening out libedis's dependencies and make it fit
better in the llvm world.  Among other things, this changes:

1. The guts of libedis are now moved into lib/MC/MCDisassembler
2. llvm-mc now depends on lib/MC/MCDisassembler, not tools/edis,
   so edis and mc don't have to be built in series.
3. lib/MC/MCDisassembler no longer depends on the C api, the C
   API depends on it.
4. Various code cleanup changes.

There is still a lot to be done to make edis fit with the llvm
design, but this is an incremental step in the right direction.

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

13 years agoremove testing cruft, this can be found in unittests/Support/Casting.cpp now
Gabor Greif [Tue, 20 Jul 2010 17:20:25 +0000 (17:20 +0000)]
remove testing cruft, this can be found in unittests/Support/Casting.cpp now

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

13 years agoRemember that the induction variable is always a PHINode and
Dan Gohman [Tue, 20 Jul 2010 17:18:52 +0000 (17:18 +0000)]
Remember that the induction variable is always a PHINode and
use getIncomingValueForBlock instead of
LoopInfo::getCanonicalInductionVariableIncrement.

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

13 years agomigrate essentially everything from under #ifdef DEBUG_CAST_OPERATORS into this file
Gabor Greif [Tue, 20 Jul 2010 17:06:28 +0000 (17:06 +0000)]
migrate essentially everything from under #ifdef DEBUG_CAST_OPERATORS into this file

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

13 years agoFix SCEV denormalization of expressions where the exit value from
Dan Gohman [Tue, 20 Jul 2010 17:06:20 +0000 (17:06 +0000)]
Fix SCEV denormalization of expressions where the exit value from
one loop is involved in the increment of an addrec for another
loop. This fixes rdar://8168938.

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

13 years agoPull out r108755. After offline discussion with Chris, we're going to go a different...
Owen Anderson [Tue, 20 Jul 2010 16:55:05 +0000 (16:55 +0000)]
Pull out r108755.  After offline discussion with Chris, we're going to go a different direction with this.

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

13 years agoAdd a fast path for x - x.
Dan Gohman [Tue, 20 Jul 2010 16:53:00 +0000 (16:53 +0000)]
Add a fast path for x - x.

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

13 years agoextend to cast<> and cast_or_null<> tests
Gabor Greif [Tue, 20 Jul 2010 16:51:18 +0000 (16:51 +0000)]
extend to cast<> and cast_or_null<> tests

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

13 years agoSimplify this code; LoopInfo::getCanonicalInductionVariable will only
Dan Gohman [Tue, 20 Jul 2010 16:46:58 +0000 (16:46 +0000)]
Simplify this code; LoopInfo::getCanonicalInductionVariable will only
find integer induction variables.

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

13 years agoMake getOrInsertCanonicalInductionVariable guarantee that its
Dan Gohman [Tue, 20 Jul 2010 16:44:52 +0000 (16:44 +0000)]
Make getOrInsertCanonicalInductionVariable guarantee that its
result is a PHINode*.

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

13 years agoisa<> tests
Gabor Greif [Tue, 20 Jul 2010 16:38:12 +0000 (16:38 +0000)]
isa<> tests

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

13 years agoChange an argument from an Instruction* to a Value*, which is all
Dan Gohman [Tue, 20 Jul 2010 16:34:50 +0000 (16:34 +0000)]
Change an argument from an Instruction* to a Value*, which is all
that is needed here.

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

13 years agoinitial checkin for unittest to exercise Support/Casting.h
Gabor Greif [Tue, 20 Jul 2010 16:32:20 +0000 (16:32 +0000)]
initial checkin for unittest to exercise Support/Casting.h

this is still minimal on purpose, but I plan to migrate the ugly
hack under #ifdef DEBUG_CAST_OPERATORS into this file

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

13 years agoMinor code cleanups.
Dan Gohman [Tue, 20 Jul 2010 16:32:11 +0000 (16:32 +0000)]
Minor code cleanups.

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

13 years agoupdate tests for smarter BIC usage
Jim Grosbach [Tue, 20 Jul 2010 16:16:48 +0000 (16:16 +0000)]
update tests for smarter BIC usage

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

13 years agoAppease the colonials.
Jakob Stoklund Olesen [Tue, 20 Jul 2010 16:12:37 +0000 (16:12 +0000)]
Appease the colonials.

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

13 years agoUsing BIC for immediates needs an extra bump for its complexity to get
Jim Grosbach [Tue, 20 Jul 2010 16:07:04 +0000 (16:07 +0000)]
Using BIC for immediates needs an extra bump for its complexity to get
instruction selection to prefer it when possible. rdar://7903972

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

13 years agoThe same problem was being tracked in PR7652.
Duncan Sands [Tue, 20 Jul 2010 15:52:32 +0000 (15:52 +0000)]
The same problem was being tracked in PR7652.

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

13 years agoBeginning SplitKit - utility classes for live range splitting.
Jakob Stoklund Olesen [Tue, 20 Jul 2010 15:41:07 +0000 (15:41 +0000)]
Beginning SplitKit - utility classes for live range splitting.

This is a work in progress. So far we have some basic loop analysis to help
determine where it is useful to split a live range around a loop.

The actual loop splitting code from Splitter.cpp is also going to move in here.

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

13 years agoRemoved un-used code.
Jim Grosbach [Tue, 20 Jul 2010 14:51:32 +0000 (14:51 +0000)]
Removed un-used code.

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

13 years agoUpdated css classes for the pressure table legend.
Lang Hames [Tue, 20 Jul 2010 14:35:55 +0000 (14:35 +0000)]
Updated css classes for the pressure table legend.

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

13 years agoOops - I tables render poorly in Chrome without this explicit height specification.
Lang Hames [Tue, 20 Jul 2010 10:29:46 +0000 (10:29 +0000)]
Oops - I tables render poorly in Chrome without this explicit height specification.

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

13 years agoUse run-length encoding to represent identical adjacent cells in the pressure
Lang Hames [Tue, 20 Jul 2010 10:18:54 +0000 (10:18 +0000)]
Use run-length encoding to represent identical adjacent cells in the pressure
and interval table. Reduces output HTML file sizes by ~80% in my test cases.

Also fix access of private member type by << operator.

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

13 years agoAdded support for turning HTML indentation on and off (indentation off by default).
Lang Hames [Tue, 20 Jul 2010 09:13:29 +0000 (09:13 +0000)]
Added support for turning HTML indentation on and off (indentation off by default).

Reduces output file size ~20% on my test cases.

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

13 years agoEnable LLVM to compile on Mips. Fix PR5828
Bruno Cardoso Lopes [Tue, 20 Jul 2010 08:44:20 +0000 (08:44 +0000)]
Enable LLVM to compile on Mips. Fix PR5828

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

13 years agoFix PR7174, a couple o Mips fixes:
Bruno Cardoso Lopes [Tue, 20 Jul 2010 08:37:04 +0000 (08:37 +0000)]
Fix PR7174, a couple o Mips fixes:

- Fix a typo for PIC check during jmp table lowering
- Also fix the "first jump table basic block is not
considered only reachable by fall through" problem, use this
ad-hoc solution until I come up with something better.

Patch by stetorvs@gmail.com

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

13 years agoSpeculatively revert r108813, in an attempt to get the self-host buildbots working...
Owen Anderson [Tue, 20 Jul 2010 08:26:15 +0000 (08:26 +0000)]
Speculatively revert r108813, in an attempt to get the self-host buildbots working again.  I don't see why this patch
would cause them to fail the way they are, but none of the other intervening patches seem likely either.

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

13 years agoFix Mips PR7473. Patch by stetorvs@gmail.com
Bruno Cardoso Lopes [Tue, 20 Jul 2010 07:58:51 +0000 (07:58 +0000)]
Fix Mips PR7473. Patch by stetorvs@gmail.com

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

13 years agoSwitched to rendering after allocation (but before rewriting) in PBQP.
Lang Hames [Tue, 20 Jul 2010 07:41:44 +0000 (07:41 +0000)]
Switched to rendering after allocation (but before rewriting) in PBQP.

Updated renderer to use allocation information from VirtRegMap (if
available) to render spilled intervals differently.

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

13 years agoGrammar.
Eric Christopher [Tue, 20 Jul 2010 06:56:13 +0000 (06:56 +0000)]
Grammar.

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

13 years agoReapply r108794, a fix for the failing test from last time.
Owen Anderson [Tue, 20 Jul 2010 06:52:42 +0000 (06:52 +0000)]
Reapply r108794, a fix for the failing test from last time.

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

13 years agoConstify some arguments.
Eric Christopher [Tue, 20 Jul 2010 06:52:21 +0000 (06:52 +0000)]
Constify some arguments.

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

13 years agoRevert r108794, "Separate PassInfo into two classes: a constructor-free
Daniel Dunbar [Tue, 20 Jul 2010 03:06:07 +0000 (03:06 +0000)]
Revert r108794, "Separate PassInfo into two classes: a constructor-free
superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is
breaking teh everything.

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

13 years agoSeparate PassInfo into two classes: a constructor-free superclass (StaticPassInfo...
Owen Anderson [Tue, 20 Jul 2010 01:19:58 +0000 (01:19 +0000)]
Separate PassInfo into two classes: a constructor-free superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).

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

13 years agoMinor code simplification.
Dan Gohman [Tue, 20 Jul 2010 00:57:18 +0000 (00:57 +0000)]
Minor code simplification.

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

13 years agoDon't hoist things out of a large switch inside a
Dale Johannesen [Tue, 20 Jul 2010 00:50:13 +0000 (00:50 +0000)]
Don't hoist things out of a large switch inside a
loop, for the reasons in the comments.  This is a
major win on 253.perlbmk on ARM Darwin.  I expect it
to be a good heuristic in general, but it's possible
some things will regress; I'll be watching.
7940152.

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

13 years agox86_32 tests for vbroadcast
Bruno Cardoso Lopes [Tue, 20 Jul 2010 00:11:50 +0000 (00:11 +0000)]
x86_32 tests for vbroadcast

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

13 years agoAdd AVX vbroadcast new instruction
Bruno Cardoso Lopes [Tue, 20 Jul 2010 00:11:13 +0000 (00:11 +0000)]
Add AVX vbroadcast new instruction

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

13 years agoUpdate CMake files.
Daniel Dunbar [Tue, 20 Jul 2010 00:08:13 +0000 (00:08 +0000)]
Update CMake files.

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

13 years agoCorrect line info for declarations/definitions. Radar 8063111.
Stuart Hastings [Mon, 19 Jul 2010 23:56:30 +0000 (23:56 +0000)]
Correct line info for declarations/definitions.  Radar 8063111.

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

13 years agosink the arm implementations of ASmPrinter and MCInstLower
Chris Lattner [Mon, 19 Jul 2010 23:44:46 +0000 (23:44 +0000)]
sink the arm implementations of ASmPrinter and MCInstLower
out of the AsmPrinter directory into libarm.  Now the
ARM InstPrinters depend jsut on the MC stuff, not on vmcore
or codegen.

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

13 years agofix a layering problem by moving the x86 implementation
Chris Lattner [Mon, 19 Jul 2010 23:41:57 +0000 (23:41 +0000)]
fix a layering problem by moving the x86 implementation
of AsmPrinter and InstLowering into libx86 and out of the
asmprinter subdirectory.  Now X86/AsmPrinter just depends on
MC stuff, not all of codegen and LLVM IR.

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

13 years agoAdd 256-bit vaddsub, vhadd, vhsub, vblend and vdpp instructions!
Bruno Cardoso Lopes [Mon, 19 Jul 2010 23:32:44 +0000 (23:32 +0000)]
Add 256-bit vaddsub, vhadd, vhsub, vblend and vdpp instructions!

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

13 years agoFix memory leak reported by valgrind.
Devang Patel [Mon, 19 Jul 2010 23:25:39 +0000 (23:25 +0000)]
Fix memory leak reported by valgrind.
Do not visit operands of old instruction. Visit all operands of new instruction.

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

13 years agoAfter a custom inserter, in a block which has constant instructions,
Dan Gohman [Mon, 19 Jul 2010 22:48:56 +0000 (22:48 +0000)]
After a custom inserter, in a block which has constant instructions,
update the current basic block in addition to the current insert
position, so that they remain consistent. This fixes rdar://8204072.

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

13 years agoARM has to provide its own TargetLowering::findRepresentativeClass because its scalar...
Evan Cheng [Mon, 19 Jul 2010 22:15:08 +0000 (22:15 +0000)]
ARM has to provide its own TargetLowering::findRepresentativeClass because its scalar floating point registers alias its vector registers.

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

13 years agolong past time I added myself to this, I suppose.
Jim Grosbach [Mon, 19 Jul 2010 22:04:28 +0000 (22:04 +0000)]
long past time I added myself to this, I suppose.

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

13 years agoChange the implemented interfaces list on PassInfo from a std::vector to a manually...
Owen Anderson [Mon, 19 Jul 2010 21:44:48 +0000 (21:44 +0000)]
Change the implemented interfaces list on PassInfo from a std::vector to a manually implemented
linked list.  This is a little slower and involves more malloc'ing, but these lists are
typically short, and it allows PassInfo to be entirely constant initializable.

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

13 years agoSave a copy of the unstripped libLTO.dylib in $SYM_DIR. Clean up the code
Bob Wilson [Mon, 19 Jul 2010 21:33:07 +0000 (21:33 +0000)]
Save a copy of the unstripped libLTO.dylib in $SYM_DIR.  Clean up the code
for dealing with libLTO.dylib to put it all in one place and to allow
use of DISABLE_USR_LINKS.

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

13 years agoMC/Mach-O: Silently ignore .file directives instead of error'ing out on
Daniel Dunbar [Mon, 19 Jul 2010 20:44:20 +0000 (20:44 +0000)]
MC/Mach-O: Silently ignore .file directives instead of error'ing out on
them. They aren't important enough to abort the entire assembly, and failing
early makes testing more annoying.

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

13 years agoX86: Mark JMP{32,64}[mr] as requires 32-bit/64-bit mode. They are the same
Daniel Dunbar [Mon, 19 Jul 2010 20:44:16 +0000 (20:44 +0000)]
X86: Mark JMP{32,64}[mr] as requires 32-bit/64-bit mode. They are the same
instruction, we only want to allow the one for the current subtarget.
 - This also fixes suffix matching for jmp instructions, because it eliminates
   the ambiguity between 'jmpl' and 'jmpq'.

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

13 years agoRegenerate.
Owen Anderson [Mon, 19 Jul 2010 19:42:01 +0000 (19:42 +0000)]
Regenerate.

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

13 years agoRemove extraneous character.
Owen Anderson [Mon, 19 Jul 2010 19:41:52 +0000 (19:41 +0000)]
Remove extraneous character.

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

13 years agoRegenerate.
Owen Anderson [Mon, 19 Jul 2010 19:24:55 +0000 (19:24 +0000)]
Regenerate.

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

13 years agoAdd support for detecting <mach-o/getsect.h> and the getsect() function.
Owen Anderson [Mon, 19 Jul 2010 19:24:37 +0000 (19:24 +0000)]
Add support for detecting <mach-o/getsect.h> and the getsect() function.

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

13 years agoTweak per Chris' comments.
Owen Anderson [Mon, 19 Jul 2010 19:23:32 +0000 (19:23 +0000)]
Tweak per Chris' comments.

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

13 years agoTeach computeRegisterProperties() to compute "representative" register class for...
Evan Cheng [Mon, 19 Jul 2010 18:47:01 +0000 (18:47 +0000)]
Teach computeRegisterProperties() to compute "representative" register class for legal value types. A "representative" register class is the largest legal super-reg register class for a value type. e.g. On i386, GR32 is the rep register class for i8 / i16 / i32; on x86_64 it would be GR64.

This property will be used by the register pressure tracking instruction scheduler.

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

13 years agoSpillers may alter MachineLoopInfo when breaking critical edges, so make it
Jakob Stoklund Olesen [Mon, 19 Jul 2010 18:41:20 +0000 (18:41 +0000)]
Spillers may alter MachineLoopInfo when breaking critical edges, so make it
non-const.

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

13 years agoTestcase for 108732 (8195660).
Dale Johannesen [Mon, 19 Jul 2010 18:22:40 +0000 (18:22 +0000)]
Testcase for 108732 (8195660).

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

13 years agoFix PR 7662.
Devang Patel [Mon, 19 Jul 2010 17:53:55 +0000 (17:53 +0000)]
Fix PR 7662.
Do not try to insert local variable info to a DIE used for function declaration.

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

13 years agoSince ARM emits inline jump tables as part of the ConstantIsland pass,
Jim Grosbach [Mon, 19 Jul 2010 17:20:38 +0000 (17:20 +0000)]
Since ARM emits inline jump tables as part of the ConstantIsland pass,
it should set the jump table encloding the EK_Inline. This prevents
a second, unused, copy of the table from being emitted after the function
body. PR6581.

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

13 years agorevert so I can get the right PR# in the log message.
Jim Grosbach [Mon, 19 Jul 2010 17:19:40 +0000 (17:19 +0000)]
revert so I can get the right PR# in the log message.

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

13 years agoSince ARM emits inline jump tables as part of the ConstantIsland pass,
Jim Grosbach [Mon, 19 Jul 2010 17:18:28 +0000 (17:18 +0000)]
Since ARM emits inline jump tables as part of the ConstantIsland pass,
it should set the jump table encloding the EK_Inline. This prevents
a second, unused, copy of the table from being emitted after the function
body. PR7499.

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

13 years agoRemove code duplication.
Mikhail Glushenkov [Mon, 19 Jul 2010 17:17:22 +0000 (17:17 +0000)]
Remove code duplication.

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

13 years agoBetter error reporting for switch_list.
Mikhail Glushenkov [Mon, 19 Jul 2010 17:17:10 +0000 (17:17 +0000)]
Better error reporting for switch_list.

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

13 years agoUpdate CMake build.
Benjamin Kramer [Mon, 19 Jul 2010 15:37:03 +0000 (15:37 +0000)]
Update CMake build.

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

13 years agoExpose BasicBlock::moveBefore and moveAfter in C API, patch
Duncan Sands [Mon, 19 Jul 2010 15:31:07 +0000 (15:31 +0000)]
Expose BasicBlock::moveBefore and moveAfter in C API, patch
by Benjamin Saunders.

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

13 years agoRender MachineFunctions to HTML pages, with options to render register
Lang Hames [Mon, 19 Jul 2010 15:22:28 +0000 (15:22 +0000)]
Render MachineFunctions to HTML pages, with options to render register
pressure estimates and liveness alongside.

Still experimental.

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

13 years agoprecompute 20 tags
Gabor Greif [Mon, 19 Jul 2010 14:48:15 +0000 (14:48 +0000)]
precompute 20 tags

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

13 years agoFix indentation.
Duncan Sands [Mon, 19 Jul 2010 09:36:45 +0000 (09:36 +0000)]
Fix indentation.

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

13 years agoExpose JIT::recompileAndRelinkFunction for use through the C API.
Duncan Sands [Mon, 19 Jul 2010 09:33:13 +0000 (09:33 +0000)]
Expose JIT::recompileAndRelinkFunction for use through the C API.
Patch by Benjamin Saunders.

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

13 years agoTestcase for r108687.
Owen Anderson [Mon, 19 Jul 2010 08:14:26 +0000 (08:14 +0000)]
Testcase for r108687.

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

13 years agoRemove r108639 now that it is handled by InstCombine instead.
Owen Anderson [Mon, 19 Jul 2010 08:10:24 +0000 (08:10 +0000)]
Remove r108639 now that it is handled by InstCombine instead.

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

13 years agoReimplement r108639 in InstCombine rather than DAGCombine.
Owen Anderson [Mon, 19 Jul 2010 08:09:34 +0000 (08:09 +0000)]
Reimplement r108639 in InstCombine rather than DAGCombine.

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

13 years agoX86-64: Mark WINCALL and more tail call instructions as code gen only.
Daniel Dunbar [Mon, 19 Jul 2010 07:21:07 +0000 (07:21 +0000)]
X86-64: Mark WINCALL and more tail call instructions as code gen only.

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

13 years agoX86: Mark some tail call pseduo instruction as code gen only.
Daniel Dunbar [Mon, 19 Jul 2010 07:21:04 +0000 (07:21 +0000)]
X86: Mark some tail call pseduo instruction as code gen only.

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

13 years agoX86: Mark In32/64BitMode on LEAVE[64] and SYSEXIT[64].
Daniel Dunbar [Mon, 19 Jul 2010 07:21:01 +0000 (07:21 +0000)]
X86: Mark In32/64BitMode on LEAVE[64] and SYSEXIT[64].

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

13 years ago_[A-Z] identifiers are reserved for the implementation.
Michael J. Spencer [Mon, 19 Jul 2010 06:26:19 +0000 (06:26 +0000)]
_[A-Z] identifiers are reserved for the implementation.

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

13 years agoMC/X86: We now match instructions like "incl %eax" correctly for the arch we are
Daniel Dunbar [Mon, 19 Jul 2010 06:14:54 +0000 (06:14 +0000)]
MC/X86: We now match instructions like "incl %eax" correctly for the arch we are
assembling; remove crufty custom cleanup code.

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

13 years agoX86: Mark MOV.*_{TC,NOREX} instruction as code gen only, they aren't real.
Daniel Dunbar [Mon, 19 Jul 2010 06:14:49 +0000 (06:14 +0000)]
X86: Mark MOV.*_{TC,NOREX} instruction as code gen only, they aren't real.

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

13 years agoX86: MOV8o8a, MOV8ao8, etc. are only valid in 32-bit mode.
Daniel Dunbar [Mon, 19 Jul 2010 06:14:44 +0000 (06:14 +0000)]
X86: MOV8o8a, MOV8ao8, etc. are only valid in 32-bit mode.

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

13 years agoMC: Add WinCOFFStreamer implementation and merge common code from MachO
Michael J. Spencer [Mon, 19 Jul 2010 06:13:10 +0000 (06:13 +0000)]
MC: Add WinCOFFStreamer implementation and merge common code from MachO
into MCObjectStreamer.

Origonal Windows COFF implementation by Nathan Jedffords.

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

13 years agoTblGen/AsmMatcher: Add support for honoring instruction Requires<[]> attributes as...
Daniel Dunbar [Mon, 19 Jul 2010 05:44:09 +0000 (05:44 +0000)]
TblGen/AsmMatcher: Add support for honoring instruction Requires<[]> attributes as part of the matcher.
 - Currently includes a hack to limit ourselves to "In32BitMode" and "In64BitMode", because we don't have the other infrastructure to properly deal with setting SSE, etc. features on X86.

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

13 years agoAlphabetize.
Bill Wendling [Mon, 19 Jul 2010 04:52:56 +0000 (04:52 +0000)]
Alphabetize.

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

13 years agoMake .align parse correctly on platforms where .align is measured in bytes.
Eli Friedman [Mon, 19 Jul 2010 04:17:25 +0000 (04:17 +0000)]
Make .align parse correctly on platforms where .align is measured in bytes.

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

13 years agollvmc: Add a new option type (switch_list).
Mikhail Glushenkov [Mon, 19 Jul 2010 03:16:25 +0000 (03:16 +0000)]
llvmc: Add a new option type (switch_list).

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

13 years agotests: Force another triple.
Daniel Dunbar [Mon, 19 Jul 2010 00:43:58 +0000 (00:43 +0000)]
tests: Force another triple.

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

13 years agoTarget: Give the TargetAsmParser access to the TargetMachine.
Daniel Dunbar [Mon, 19 Jul 2010 00:33:49 +0000 (00:33 +0000)]
Target: Give the TargetAsmParser access to the TargetMachine.
 - Unfortunate, but necessary for now to handle subtarget instruction matching. Eventually we should factor out the lower level target machine information so we don't need to do this.

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

13 years agoedis: Save the TargetMachine in the EDDisassembler object.
Daniel Dunbar [Mon, 19 Jul 2010 00:33:43 +0000 (00:33 +0000)]
edis: Save the TargetMachine in the EDDisassembler object.

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

13 years agoTest commit
Michael J. Spencer [Sun, 18 Jul 2010 23:46:13 +0000 (23:46 +0000)]
Test commit

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

13 years agoMC/AsmParser: Stop playing unsafe member function pointer calls, this isn't
Daniel Dunbar [Sun, 18 Jul 2010 22:22:07 +0000 (22:22 +0000)]
MC/AsmParser: Stop playing unsafe member function pointer calls, this isn't
portable enough.
 - Downside is we now double dispatch through a stub function, but this isn't
   performance critical.

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