oota-llvm.git
14 years agoMove more functionality from Pass.cpp to PassRegistry.cpp. This global will go away...
Owen Anderson [Tue, 20 Jul 2010 21:22:24 +0000 (21:22 +0000)]
Move more functionality from Pass.cpp to PassRegistry.cpp.  This global will go away eventually, but for now we still need it around.

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

14 years agoFix edis makefile
Douglas Gregor [Tue, 20 Jul 2010 21:21:27 +0000 (21:21 +0000)]
Fix edis makefile

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

14 years agoprune #includes a little.
Chris Lattner [Tue, 20 Jul 2010 21:17:29 +0000 (21:17 +0000)]
prune #includes a little.

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

14 years agoAdd some more handlers for ELF section directives.
Matt Fleming [Tue, 20 Jul 2010 21:12:46 +0000 (21:12 +0000)]
Add some more handlers for ELF section directives.

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

14 years agoFormatting.
Eric Christopher [Tue, 20 Jul 2010 21:05:58 +0000 (21:05 +0000)]
Formatting.

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

14 years agofix DISABLE_EDIS
Chris Lattner [Tue, 20 Jul 2010 20:55:57 +0000 (20:55 +0000)]
fix DISABLE_EDIS

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

14 years agoAdd the rest of the SHT_* values as defined in the System V ABI
Matt Fleming [Tue, 20 Jul 2010 20:52:18 +0000 (20:52 +0000)]
Add the rest of the SHT_* values as defined in the System V ABI
ELF specification.

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

14 years agoAdd support for a new Apple-style build target, EmbeddedSim, that builds
Bob Wilson [Tue, 20 Jul 2010 20:44:02 +0000 (20:44 +0000)]
Add support for a new Apple-style build target, EmbeddedSim, that builds
llvmCore for the iOS Simulator.

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

14 years agothis logic is handled by tools/makefile.
Chris Lattner [Tue, 20 Jul 2010 20:33:59 +0000 (20:33 +0000)]
this logic is handled by tools/makefile.

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

14 years agoTestcase for llvm-gcc commit r108910.
Eric Christopher [Tue, 20 Jul 2010 20:32:47 +0000 (20:32 +0000)]
Testcase for llvm-gcc commit r108910.

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

14 years agoRemove setDbgMetadata and getDbgMetadata; their users have been
Dan Gohman [Tue, 20 Jul 2010 20:18:21 +0000 (20:18 +0000)]
Remove setDbgMetadata and getDbgMetadata; their users have been
replaced with setDebugLoc and getDebugLoc.

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

14 years agoLet's get those buildbots green: #include is needed in the header, not just the imple...
Owen Anderson [Tue, 20 Jul 2010 20:16:11 +0000 (20:16 +0000)]
Let's get those buildbots green: #include is needed in the header, not just the implementation.

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

14 years agoUse getDebugLoc and setDebugLoc instead of getDbgMetadata and setDbgMetadata,
Dan Gohman [Tue, 20 Jul 2010 20:09:07 +0000 (20:09 +0000)]
Use getDebugLoc and setDebugLoc instead of getDbgMetadata and setDbgMetadata,
avoiding MDNode overhead.

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

14 years agoapparently also missing an include.
Chris Lattner [Tue, 20 Jul 2010 20:06:19 +0000 (20:06 +0000)]
apparently also missing an include.

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

14 years agothis is in System
Chris Lattner [Tue, 20 Jul 2010 19:54:01 +0000 (19:54 +0000)]
this is in System

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

14 years agoremove option from tablegen for building static header.
Chris Lattner [Tue, 20 Jul 2010 19:45:21 +0000 (19:45 +0000)]
remove option from tablegen for building static header.

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

14 years agoAdd new AVX instruction vinsertf128
Bruno Cardoso Lopes [Tue, 20 Jul 2010 19:44:51 +0000 (19:44 +0000)]
Add new AVX instruction vinsertf128

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

14 years agoturn this into a normal header.
Chris Lattner [Tue, 20 Jul 2010 19:43:19 +0000 (19:43 +0000)]
turn this into a normal header.

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

14 years agohopefully heal the linux builders
Chris Lattner [Tue, 20 Jul 2010 19:40:51 +0000 (19:40 +0000)]
hopefully heal the linux builders

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

14 years agotidy up
Gabor Greif [Tue, 20 Jul 2010 19:35:55 +0000 (19:35 +0000)]
tidy up

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

14 years agoI just fail with SVN today.
Owen Anderson [Tue, 20 Jul 2010 19:23:55 +0000 (19:23 +0000)]
I just fail with SVN today.

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

14 years agothere is no reason to dynamically generate a static header.
Chris Lattner [Tue, 20 Jul 2010 18:59:58 +0000 (18:59 +0000)]
there is no reason to dynamically generate a static header.

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

14 years agodrop edinfo.inc into the objdir for src!=objdir builds.
Chris Lattner [Tue, 20 Jul 2010 18:53:27 +0000 (18:53 +0000)]
drop edinfo.inc into the objdir for src!=objdir builds.

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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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