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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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