oota-llvm.git
14 years agoARMv4 JIT forgets to set the lr register when making a indirect function call. Fixes...
Xerxes Ranby [Thu, 22 Jul 2010 17:28:34 +0000 (17:28 +0000)]
ARMv4 JIT forgets to set the lr register when making a indirect function call. Fixes PR7608

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

14 years agokeep in 80 cols
Gabor Greif [Thu, 22 Jul 2010 17:18:03 +0000 (17:18 +0000)]
keep in 80 cols

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

14 years agoMap MDNode correctly.
Devang Patel [Thu, 22 Jul 2010 16:35:00 +0000 (16:35 +0000)]
Map MDNode correctly.
A non function local MDNode can have an operand which is cloned by MapValue().

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

14 years agoadd dyn_cast_or_null tests, exclude invalid dyn_cast test
Gabor Greif [Thu, 22 Jul 2010 15:37:20 +0000 (15:37 +0000)]
add dyn_cast_or_null tests, exclude invalid dyn_cast test

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

14 years agotidy up
Gabor Greif [Thu, 22 Jul 2010 15:28:30 +0000 (15:28 +0000)]
tidy up

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

14 years agoadd dyn_cast tests and beef up others a bit
Gabor Greif [Thu, 22 Jul 2010 15:24:48 +0000 (15:24 +0000)]
add dyn_cast tests and beef up others a bit

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

14 years agofit in 80 columns
Gabor Greif [Thu, 22 Jul 2010 14:13:14 +0000 (14:13 +0000)]
fit in 80 columns

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

14 years agouse cascading operator-> feature
Gabor Greif [Thu, 22 Jul 2010 13:49:27 +0000 (13:49 +0000)]
use cascading operator-> feature

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

14 years agomass elimination of reliance on automatic iterator dereferencing
Gabor Greif [Thu, 22 Jul 2010 13:36:47 +0000 (13:36 +0000)]
mass elimination of reliance on automatic iterator dereferencing

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

14 years agoIncrease the max physreg size. Patch by Pekka Jääskeläinen.
Duncan Sands [Thu, 22 Jul 2010 13:10:14 +0000 (13:10 +0000)]
Increase the max physreg size.  Patch by Pekka Jääskeläinen.

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

14 years agosimplify
Gabor Greif [Thu, 22 Jul 2010 13:07:39 +0000 (13:07 +0000)]
simplify

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

14 years agodo not access arguments via low-level interface, do not multiply dereference use_iter...
Gabor Greif [Thu, 22 Jul 2010 13:04:32 +0000 (13:04 +0000)]
do not access arguments via low-level interface, do not multiply dereference use_iterators

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

14 years agopass dereferenced iterator to dyn_cast
Gabor Greif [Thu, 22 Jul 2010 11:48:35 +0000 (11:48 +0000)]
pass dereferenced iterator to dyn_cast

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

14 years agopass dereferenced iterator to dyn_cast
Gabor Greif [Thu, 22 Jul 2010 11:43:44 +0000 (11:43 +0000)]
pass dereferenced iterator to dyn_cast

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

14 years agouse -> instead of (*).
Gabor Greif [Thu, 22 Jul 2010 11:12:32 +0000 (11:12 +0000)]
use -> instead of (*).

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

14 years agocache dereferenced iterator
Gabor Greif [Thu, 22 Jul 2010 11:07:46 +0000 (11:07 +0000)]
cache dereferenced iterator

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

14 years agoundo 80 column trespassing I caused
Gabor Greif [Thu, 22 Jul 2010 10:37:47 +0000 (10:37 +0000)]
undo 80 column trespassing I caused

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

14 years agoMark an assert-only variable as used.
Chandler Carruth [Thu, 22 Jul 2010 08:02:25 +0000 (08:02 +0000)]
Mark an assert-only variable as used.

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

14 years agoFix the generated file name for CMake.
Chandler Carruth [Thu, 22 Jul 2010 08:00:52 +0000 (08:00 +0000)]
Fix the generated file name for CMake.

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

14 years agoAdd new RegionInfo pass.
Tobias Grosser [Thu, 22 Jul 2010 07:46:31 +0000 (07:46 +0000)]
Add new RegionInfo pass.

The RegionInfo pass detects single entry single exit regions in a function,
where a region is defined as any subgraph that is connected to the remaining
graph at only two spots.
Furthermore an hierarchical region tree is built.
Use it by calling "opt -regions analyze" or "opt -view-regions".

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

14 years agoAttempt to fix linking issues with CMake. Please review other CMake users,
Chandler Carruth [Thu, 22 Jul 2010 06:27:45 +0000 (06:27 +0000)]
Attempt to fix linking issues with CMake. Please review other CMake users,
especially on other platforms. Is there a better way to fix this.

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

14 years agoRe-apply r109079 with fix.
Evan Cheng [Thu, 22 Jul 2010 06:24:48 +0000 (06:24 +0000)]
Re-apply r109079 with fix.

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

14 years agoRevert r109079, which broke a lot of CodeGen tests.
Owen Anderson [Thu, 22 Jul 2010 06:01:28 +0000 (06:01 +0000)]
Revert r109079, which broke a lot of CodeGen tests.

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

14 years agoUpdate CMake files.
Owen Anderson [Thu, 22 Jul 2010 06:00:01 +0000 (06:00 +0000)]
Update CMake files.

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

14 years agoInitial modifications to MCAssembler and TargetMachine for the MCJIT.
Reid Kleckner [Thu, 22 Jul 2010 05:58:53 +0000 (05:58 +0000)]
Initial modifications to MCAssembler and TargetMachine for the MCJIT.

Patch by Olivier Meurant!

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

14 years agoInitialize RegLimit only when register pressure is being tracked.
Evan Cheng [Thu, 22 Jul 2010 05:18:41 +0000 (05:18 +0000)]
Initialize RegLimit only when register pressure is being tracked.

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

14 years agoCustom lower the memory barrier instructions and add support
Eric Christopher [Thu, 22 Jul 2010 02:48:34 +0000 (02:48 +0000)]
Custom lower the memory barrier instructions and add support
for lowering without sse2.  Add a couple of new testcases.

Fixes a few libgomp tests and latent bugs.  Remove a few todos.

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

14 years agoFix constant island pass's handling of tBR_JTr. The offset of the instruction does...
Evan Cheng [Thu, 22 Jul 2010 02:09:47 +0000 (02:09 +0000)]
Fix constant island pass's handling of tBR_JTr. The offset of the instruction does not have to be 4-byte aligned. Rather, it's the offset + 2 that must be aligned since the instruction expands into:
        mov     pc, r1
        .align  2
LJTI0_0_0:
        .long    LBB0_14

This fixes rdar://8213383. No test case since it's not possible to come up with a suitable small one.

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

14 years agoIf 'other' was empty 'overlapsFrom(other, other.begin());' will segfault. This avoids...
Lang Hames [Thu, 22 Jul 2010 02:05:10 +0000 (02:05 +0000)]
If 'other' was empty 'overlapsFrom(other, other.begin());' will segfault. This avoids that.

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

14 years agolit: Add some example tests for previous commit.
Daniel Dunbar [Thu, 22 Jul 2010 00:40:19 +0000 (00:40 +0000)]
lit: Add some example tests for previous commit.

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

14 years ago80-columns.
Eric Christopher [Thu, 22 Jul 2010 00:26:08 +0000 (00:26 +0000)]
80-columns.

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

14 years agoMake fast isel win64-aware w.r.t. call-clobbered regs
Nate Begeman [Thu, 22 Jul 2010 00:09:39 +0000 (00:09 +0000)]
Make fast isel win64-aware w.r.t. call-clobbered regs

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

14 years agoMore register pressure aware scheduling work.
Evan Cheng [Wed, 21 Jul 2010 23:53:58 +0000 (23:53 +0000)]
More register pressure aware scheduling work.

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

14 years agoAdd more 256-bit forms for a bunch of regular AVX instructions
Bruno Cardoso Lopes [Wed, 21 Jul 2010 23:53:50 +0000 (23:53 +0000)]
Add more 256-bit forms for a bunch of regular AVX instructions
Add 64-bit (GR64) versions of some instructions (which are not
described in their SSE forms, but are described in AVX)

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

14 years agolit: Add support for 'REQUIRES: feature-one, feature-two, ...' in the
Daniel Dunbar [Wed, 21 Jul 2010 23:39:57 +0000 (23:39 +0000)]
lit: Add support for 'REQUIRES: feature-one, feature-two, ...' in the
integrated-test formats (sh and tcl style). The particular features which get
recognized are up to the test suite itself to define.

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

14 years agoMake NamedMDNode not be a subclass of Value, and simplify the interface
Dan Gohman [Wed, 21 Jul 2010 23:38:33 +0000 (23:38 +0000)]
Make NamedMDNode not be a subclass of Value, and simplify the interface
for creating and populating NamedMDNodes.

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

14 years agoFixes win64. It was broken by a previous patch where I missed the !isWin64
Rafael Espindola [Wed, 21 Jul 2010 23:19:57 +0000 (23:19 +0000)]
Fixes win64. It was broken by a previous patch where I missed the !isWin64
and then forced every register to be a vr128 on win64.

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

14 years agoAdd INSTANTIATE_AG_PASS, which combines RegisterPass<> with RegisterAnalysisGroup...
Owen Anderson [Wed, 21 Jul 2010 23:07:00 +0000 (23:07 +0000)]
Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with RegisterAnalysisGroup<> for pass registration.

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

14 years agoFor ARM/Darwin, add a dwarf entry indicating whether a function is arm or thumb
Jim Grosbach [Wed, 21 Jul 2010 23:03:52 +0000 (23:03 +0000)]
For ARM/Darwin, add a dwarf entry indicating whether a function is arm or thumb
rdar://8202967

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

14 years agoadd some rough support for making mcinst lowering work without an
Chris Lattner [Wed, 21 Jul 2010 23:03:35 +0000 (23:03 +0000)]
add some rough support for making mcinst lowering work without an
asmprinter or mangler around.  This is option #B for killing off
X86InstrInfo::GetInstSizeInBytes.  Option #A (killing
"needsexactsize") was sent for consideration to llvmdev.

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

14 years agoFirst stab at updating the documentation for INITIALIZE_PASS().
Owen Anderson [Wed, 21 Jul 2010 22:58:07 +0000 (22:58 +0000)]
First stab at updating the documentation for INITIALIZE_PASS().

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

14 years agoBaby steps towards ARM fast-isel.
Eric Christopher [Wed, 21 Jul 2010 22:26:11 +0000 (22:26 +0000)]
Baby steps towards ARM fast-isel.

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

14 years agoFix batch of converting RegisterPass<> to INTIALIZE_PASS().
Owen Anderson [Wed, 21 Jul 2010 22:09:45 +0000 (22:09 +0000)]
Fix batch of converting RegisterPass<> to INTIALIZE_PASS().

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

14 years agoHack around extracts that aren't easy to process.
Eric Christopher [Wed, 21 Jul 2010 22:07:19 +0000 (22:07 +0000)]
Hack around extracts that aren't easy to process.

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

14 years agotidy up
Jim Grosbach [Wed, 21 Jul 2010 22:04:53 +0000 (22:04 +0000)]
tidy up

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

14 years agoAdd missing AVX convert instructions. Those instructions are not described in their...
Bruno Cardoso Lopes [Wed, 21 Jul 2010 21:37:59 +0000 (21:37 +0000)]
Add missing AVX convert instructions. Those instructions are not described in their SSE forms (although they exist), but add the AVX forms anyway, so the assembler can benefit from it

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

14 years agotidy up.
Jim Grosbach [Wed, 21 Jul 2010 21:36:25 +0000 (21:36 +0000)]
tidy up.

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

14 years ago80 column and trailing whitespace cleanup
Jim Grosbach [Wed, 21 Jul 2010 21:21:52 +0000 (21:21 +0000)]
80 column and trailing whitespace cleanup

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

14 years agoAdd some debug output to help diagnose PR7689.
Dan Gohman [Wed, 21 Jul 2010 21:18:37 +0000 (21:18 +0000)]
Add some debug output to help diagnose PR7689.

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

14 years agoFix a couple issues with Win64 ABI
Nate Begeman [Wed, 21 Jul 2010 20:49:52 +0000 (20:49 +0000)]
Fix a couple issues with Win64 ABI

1) all registers were spilled as xmm, regardless of actual size
2) win64 abi doesn't do the varargs-size-in-%al thing

Still to look into:

xmm6-15 are marked as clobbered by call instructions on win64 even though they aren't.

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

14 years agoAdd the INITIALIZE_PASS macro.
Owen Anderson [Wed, 21 Jul 2010 20:46:41 +0000 (20:46 +0000)]
Add the INITIALIZE_PASS macro.

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

14 years agoAvoid AVX instructions to be selected instead of its SSE form
Bruno Cardoso Lopes [Wed, 21 Jul 2010 20:38:42 +0000 (20:38 +0000)]
Avoid AVX instructions to be selected instead of its SSE form

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

14 years agoNamedMDNode is never an operand.
Dan Gohman [Wed, 21 Jul 2010 20:25:43 +0000 (20:25 +0000)]
NamedMDNode is never an operand.

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

14 years agoDisallow null as a named metadata operand.
Dan Gohman [Wed, 21 Jul 2010 18:54:18 +0000 (18:54 +0000)]
Disallow null as a named metadata operand.
Make MDNode::destroy private.
Fix the one thing that used MDNode::destroy, outside of MDNode itself.

One should never delete or destroy an MDNode explicitly. MDNodes
implicitly go away when there are no references to them (implementation
details aside).

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

14 years agoUse System/DataTypes.h instead of stdint.h, which isn't portable.
Daniel Dunbar [Wed, 21 Jul 2010 18:48:59 +0000 (18:48 +0000)]
Use System/DataTypes.h instead of stdint.h, which isn't portable.

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

14 years agoUse TrackingVH instead of WeakVH for NamedMDNode's operands, since nodes
Dan Gohman [Wed, 21 Jul 2010 18:01:42 +0000 (18:01 +0000)]
Use TrackingVH instead of WeakVH for NamedMDNode's operands, since nodes
referenced by NamedMDNodes shouldn't be deleted.

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

14 years agoTidy.
Dan Gohman [Wed, 21 Jul 2010 17:53:53 +0000 (17:53 +0000)]
Tidy.

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

14 years agoMove the smarts of AnalysisGroup registration into PassRegistry.
Owen Anderson [Wed, 21 Jul 2010 17:52:45 +0000 (17:52 +0000)]
Move the smarts of AnalysisGroup registration into PassRegistry.

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

14 years agoDelete an obsolete comment.
Dan Gohman [Wed, 21 Jul 2010 17:21:27 +0000 (17:21 +0000)]
Delete an obsolete comment.

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

14 years agostrip out the 2.7 release notes, this really is the 2.8 release notes
Chris Lattner [Wed, 21 Jul 2010 15:57:40 +0000 (15:57 +0000)]
strip out the 2.7 release notes, this really is the 2.8 release notes
now. Add a few items like the fpstackifier improvements.

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

14 years agoFix calling convention on ARM if vfp2+ is enabled.
Rafael Espindola [Wed, 21 Jul 2010 11:38:30 +0000 (11:38 +0000)]
Fix calling convention on ARM if vfp2+ is enabled.

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

14 years agoappease Validator
Gabor Greif [Wed, 21 Jul 2010 10:22:41 +0000 (10:22 +0000)]
appease Validator

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

14 years agoadd info on operand rotation
Gabor Greif [Wed, 21 Jul 2010 10:20:08 +0000 (10:20 +0000)]
add info on operand rotation

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

14 years agoPulling out previous patch, must've run the tests in
Eric Christopher [Wed, 21 Jul 2010 09:23:56 +0000 (09:23 +0000)]
Pulling out previous patch, must've run the tests in
the wrong directory.

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

14 years agoLower MEMBARRIER on x86 and support processors without SSE2.
Eric Christopher [Wed, 21 Jul 2010 09:05:23 +0000 (09:05 +0000)]
Lower MEMBARRIER on x86 and support processors without SSE2.

Fixes a pile of libgomp failures in the llvm-gcc testsuite due
to the libcall not existing.

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

14 years agoChanged OStream templates to functions on raw_ostream, removed the unused "renderWarn...
Lang Hames [Wed, 21 Jul 2010 09:02:06 +0000 (09:02 +0000)]
Changed OStream templates to functions on raw_ostream, removed the unused "renderWarnings" function.

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

14 years agoAdd AVX only vzeroall and vzeroupper instructions
Bruno Cardoso Lopes [Wed, 21 Jul 2010 08:56:24 +0000 (08:56 +0000)]
Add AVX only vzeroall and vzeroupper instructions

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

14 years agorestore aesthetics
Gabor Greif [Wed, 21 Jul 2010 08:25:55 +0000 (08:25 +0000)]
restore aesthetics

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

14 years agoTeach bottom up pre-ra scheduler to track register pressure. Work in progress.
Evan Cheng [Wed, 21 Jul 2010 06:09:07 +0000 (06:09 +0000)]
Teach bottom up pre-ra scheduler to track register pressure. Work in progress.

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

14 years agoTurn this test on again after the llvm-gcc change in r108986.
Eric Christopher [Wed, 21 Jul 2010 04:54:06 +0000 (04:54 +0000)]
Turn this test on again after the llvm-gcc change in r108986.

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

14 years agoUpdate this to use a "valid" alignment.
Eric Christopher [Wed, 21 Jul 2010 04:51:24 +0000 (04:51 +0000)]
Update this to use a "valid" alignment.

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

14 years agoAdd new AVX vpermilps, vpermilpd and vperm2f128 instructions
Bruno Cardoso Lopes [Wed, 21 Jul 2010 03:07:42 +0000 (03:07 +0000)]
Add new AVX vpermilps, vpermilpd and vperm2f128 instructions

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

14 years agoAdd new AVX vmaskmov instructions, and also fix the VEX encoding bits to support it
Bruno Cardoso Lopes [Wed, 21 Jul 2010 02:46:58 +0000 (02:46 +0000)]
Add new AVX vmaskmov instructions, and also fix the VEX encoding bits to support it

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

14 years agoGive MDNode printing has access to the current Module in more
Dan Gohman [Tue, 20 Jul 2010 23:55:01 +0000 (23:55 +0000)]
Give MDNode printing has access to the current Module in more
cases. This will be needed when function-local metadata can
appear in places that aren't intrinsic function arguments.

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

14 years agoChange the createSpiller interface to take a MachineFunctionPass argument.
Jakob Stoklund Olesen [Tue, 20 Jul 2010 23:50:15 +0000 (23:50 +0000)]
Change the createSpiller interface to take a MachineFunctionPass argument.

The spillers can pluck the analyses they need from the pass reference.

Switch some never-null pointers to references.

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

14 years agoMake this code a little more readable.
Dan Gohman [Tue, 20 Jul 2010 23:49:44 +0000 (23:49 +0000)]
Make this code a little more readable.

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

14 years agoUse DebugLocs instead of MDNodes.
Dan Gohman [Tue, 20 Jul 2010 23:49:05 +0000 (23:49 +0000)]
Use DebugLocs instead of MDNodes.

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

14 years agoMove the handling of PassRegistrationListener's to PassRegistry.
Owen Anderson [Tue, 20 Jul 2010 23:41:56 +0000 (23:41 +0000)]
Move the handling of PassRegistrationListener's to PassRegistry.

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

14 years agoAdd new AVX vextractf128 instructions
Bruno Cardoso Lopes [Tue, 20 Jul 2010 23:19:02 +0000 (23:19 +0000)]
Add new AVX vextractf128 instructions

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

14 years agoFix a typo.
Dan Gohman [Tue, 20 Jul 2010 23:10:36 +0000 (23:10 +0000)]
Fix a typo.

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

14 years agoDon't look up the "dbg" metadata kind by name.
Dan Gohman [Tue, 20 Jul 2010 23:09:34 +0000 (23:09 +0000)]
Don't look up the "dbg" metadata kind by name.

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

14 years agomake asmprinter optional, even though passing in null will cause things to explode...
Chris Lattner [Tue, 20 Jul 2010 22:45:33 +0000 (22:45 +0000)]
make asmprinter optional, even though passing in null will cause things to explode right now.

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

14 years agoAdded support to MachO.h for many defines and structures that are needed
Greg Clayton [Tue, 20 Jul 2010 22:36:00 +0000 (22:36 +0000)]
Added support to MachO.h for many defines and structures that are needed
to Parse mach-o files. All defines have been renamed to not conflict with
#defines in mach header files, all structures were left named the same but
are in the llvm::MachO namespace.

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

14 years agocontinue pushing dependencies around.
Chris Lattner [Tue, 20 Jul 2010 22:35:40 +0000 (22:35 +0000)]
continue pushing dependencies around.

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

14 years agoreduce X86MCInstLower dependencies on asmprinter.
Chris Lattner [Tue, 20 Jul 2010 22:30:53 +0000 (22:30 +0000)]
reduce X86MCInstLower dependencies on asmprinter.

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

14 years agopass around MF, not MMI.
Chris Lattner [Tue, 20 Jul 2010 22:26:07 +0000 (22:26 +0000)]
pass around MF, not MMI.

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

14 years agoRename removeAllMetadata to clearMetadataHashEntries and simplify
Dan Gohman [Tue, 20 Jul 2010 22:25:04 +0000 (22:25 +0000)]
Rename removeAllMetadata to clearMetadataHashEntries and simplify
it to just do the things that need to be done when an instruction
is deleted.

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

14 years agocleanups.
Chris Lattner [Tue, 20 Jul 2010 22:23:57 +0000 (22:23 +0000)]
cleanups.

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

14 years agomove two asmprinter methods into the asmprinter .cpp file.
Chris Lattner [Tue, 20 Jul 2010 22:18:19 +0000 (22:18 +0000)]
move two asmprinter methods into the asmprinter .cpp file.

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

14 years agoImplement loop splitting analysis.
Jakob Stoklund Olesen [Tue, 20 Jul 2010 21:46:58 +0000 (21:46 +0000)]
Implement loop splitting analysis.
Determine which loop exit blocks need a 'pre-exit' block inserted.
Recognize when this would be impossible.

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

14 years agoRemove an obsolete comment.
Dan Gohman [Tue, 20 Jul 2010 21:45:17 +0000 (21:45 +0000)]
Remove an obsolete comment.

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

14 years agoAdd support for remapping metadata kind IDs when reading in a
Dan Gohman [Tue, 20 Jul 2010 21:42:28 +0000 (21:42 +0000)]
Add support for remapping metadata kind IDs when reading in a
bitcode file, so that two bitcode files where the same metadata kind
name happens to have been assigned a different ID can still be
linked together.

Eliminate the restriction that metadata kind IDs can't be 0.

Change MD_dbg from 1 to 0, because we can now, and because it's
less mysterious that way.

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

14 years agoInclude some tests for the recently committed ELF section directive
Matt Fleming [Tue, 20 Jul 2010 21:37:30 +0000 (21:37 +0000)]
Include some tests for the recently committed ELF section directive
handlers.

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

14 years agoFix test for switch statements and increase
Dale Johannesen [Tue, 20 Jul 2010 21:29:12 +0000 (21:29 +0000)]
Fix test for switch statements and increase
threshold a bit per experimentation.

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

14 years agothere is now no reason to link in TARGETS_TO_BUILD since we list
Chris Lattner [Tue, 20 Jul 2010 21:26:27 +0000 (21:26 +0000)]
there is now no reason to link in TARGETS_TO_BUILD since we list
arm explicitly.  X86 and ARM are the only two targets that support
disassembly, so our explicit list is enough.  These other targets
weren't getting pulled in anyway though, since there were no
references to their symbols.

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

14 years agofix edis to only try to link in the x86 parts if the x86 backend is
Chris Lattner [Tue, 20 Jul 2010 21:23:57 +0000 (21:23 +0000)]
fix edis to only try to link in the x86 parts if the x86 backend is
enabled.  Add direct ARM support.

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

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