Chris Lattner [Thu, 7 Oct 2010 23:57:02 +0000 (23:57 +0000)]
simplify some map operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116014
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 7 Oct 2010 23:55:40 +0000 (23:55 +0000)]
MC-COFF: Handle relaxation in COFF better. Fixes PR8321.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116013
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 7 Oct 2010 23:52:18 +0000 (23:52 +0000)]
Delete the FormulaSorter class and inline its one method into its
one user. This code will be restructured soon and FormulaSorter
is getting in the way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116012
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 7 Oct 2010 23:43:09 +0000 (23:43 +0000)]
Fix a spello.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116011
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 7 Oct 2010 23:41:58 +0000 (23:41 +0000)]
Charge a formula for explicit multiplies on scaled registers too,
not just base registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116010
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 7 Oct 2010 23:37:58 +0000 (23:37 +0000)]
Use size_t for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116009
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 7 Oct 2010 23:36:45 +0000 (23:36 +0000)]
When merging one use into another, transfer the offsets from
the old use to the new one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116008
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 23:36:18 +0000 (23:36 +0000)]
Reimplement (part of) the or -> add optimization. Matching 'or' into 'add'
is general goodness because it allows ORs to be converted to LEA to avoid
inserting copies. However, this is bad because it makes the generated .s
file less obvious and gives valgrind heartburn (tons of false positives in
bitfield code).
While the general fix should be in valgrind, we can at least try to avoid
emitting ADD instructions that *don't* get promoted to LEA. This is more
work because it requires introducing pseudo instructions to represents
"add that knows the bits are disjoint", but hey, people really love valgrind.
This fixes this testcase:
https://bugs.kde.org/show_bug.cgi?id=242137#c20
the add r/i cases are coming next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116007
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 7 Oct 2010 23:34:34 +0000 (23:34 +0000)]
After splitting, the remaining LiveInterval may be fragmented into multiple
connected components. These components should be allocated different virtual
registers because there is no reason for them to be allocated together.
Add the ConnectedVNInfoEqClasses class to calculate the connected components,
and move values to new LiveIntervals.
Use it from SplitKit::rewrite by creating new virtual registers for the
components.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116006
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 7 Oct 2010 23:33:43 +0000 (23:33 +0000)]
Fix LSR to keep the RegUseTracker up to date when combining users.
This doesn't usually matter, because the other heuristics usually
succeed regardless, but it's good to keep the register use
bookkeeping consistent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116005
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 7 Oct 2010 23:29:37 +0000 (23:29 +0000)]
Remove LoopIndexSplit pass. It is neither maintained nor used by anyone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116004
91177308-0d34-0410-b5e6-
96231b3b80d8
John Thompson [Thu, 7 Oct 2010 23:12:15 +0000 (23:12 +0000)]
Unbreak cmake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116003
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 7 Oct 2010 23:12:15 +0000 (23:12 +0000)]
Code refactoring.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116002
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 23:08:41 +0000 (23:08 +0000)]
Reduce casting in various tables by defining the table
with the right types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116001
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 7 Oct 2010 22:30:47 +0000 (22:30 +0000)]
Warn about broken GCCs on ARM due to the problem fixed:
http://gcc.gnu.org/ml/gcc-patches/2010-09/msg01070.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115998
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 22:26:19 +0000 (22:26 +0000)]
simplify code: don't build up vector only to assert it is empty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115997
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 22:25:06 +0000 (22:25 +0000)]
Now with fewer extraneous semicolons!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115996
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 7 Oct 2010 22:14:01 +0000 (22:14 +0000)]
Move checking for t2MOVCCi16 to the right place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115994
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 7 Oct 2010 22:12:50 +0000 (22:12 +0000)]
Trivial MC code emitter shell. No instruction forms actually handled yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115993
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 7 Oct 2010 22:05:57 +0000 (22:05 +0000)]
Correctly check if a path is a directory. Fix by Brian Korver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115991
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 7 Oct 2010 22:03:01 +0000 (22:03 +0000)]
Provie a clearner interface so that FE can decide whether a function has prototype or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115988
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 7 Oct 2010 21:57:55 +0000 (21:57 +0000)]
Include the auto-generated bits for machine encoding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115987
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 7 Oct 2010 21:55:16 +0000 (21:55 +0000)]
Fix typo in comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115986
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 7 Oct 2010 21:40:18 +0000 (21:40 +0000)]
Remember to promote load/store types for stack to register size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115984
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 21:31:03 +0000 (21:31 +0000)]
convert test to use the existing classes that the multipatterns
use. Since TEST is completely different than all other binops,
don't define a multipattern for it.
This completes factorization of binops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115982
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 20:56:25 +0000 (20:56 +0000)]
convert cmp to use a multipattern
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115978
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 7 Oct 2010 20:50:20 +0000 (20:50 +0000)]
Canonicalize X86ISD::MOVDDUP nodes to v2f64 to make sure all cases match. Also eliminate unneeded isel patterns. rdar://
8520311
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115977
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 7 Oct 2010 20:48:46 +0000 (20:48 +0000)]
This file needs ToolOutputFile.h too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115976
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 7 Oct 2010 20:41:30 +0000 (20:41 +0000)]
ARM instruction don't have instruction prefixes, so remove the helper functions
for them from the MCCodeEmitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115975
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 7 Oct 2010 20:38:37 +0000 (20:38 +0000)]
Add output stream operator for MCInst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115974
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 7 Oct 2010 20:32:40 +0000 (20:32 +0000)]
Move tool_output_file into its own file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115973
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 20:17:24 +0000 (20:17 +0000)]
Add initialization routines for Instrumentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115971
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 20:14:23 +0000 (20:14 +0000)]
reduce redundancy between pattern copies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115968
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 20:06:24 +0000 (20:06 +0000)]
the opcode for BinOpMI/BinOpMI8 is always the same, remove the argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115967
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 20:05:18 +0000 (20:05 +0000)]
Improve comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115966
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 20:04:55 +0000 (20:04 +0000)]
Add initialization routines to InstCombine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115965
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 20:01:55 +0000 (20:01 +0000)]
convert adc/sbb to a multipattern. Because the adde/sube nodes
are not defined as returning EFLAGS (like add_flag and friends),
the entire multipattern and several of the subclasses need to be
cloned.
This could be handled through better instantiation support in tblgen,
but it isn't meta enough.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115964
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 19:51:21 +0000 (19:51 +0000)]
Add initialization routines for VMCore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115963
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 7 Oct 2010 18:51:10 +0000 (18:51 +0000)]
Fix Whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115959
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 7 Oct 2010 18:50:57 +0000 (18:50 +0000)]
Fix warnings on Windows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115958
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 18:50:11 +0000 (18:50 +0000)]
Add initialization routines for Target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115957
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 7 Oct 2010 18:47:10 +0000 (18:47 +0000)]
Fix obvious mistake pointed out by Michael Spencer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115952
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 7 Oct 2010 18:47:07 +0000 (18:47 +0000)]
Print more loop info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115951
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 7 Oct 2010 18:47:05 +0000 (18:47 +0000)]
Print out MBB number when rewriting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115950
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 18:41:20 +0000 (18:41 +0000)]
Add initialization routines for CodeGen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115949
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 18:31:27 +0000 (18:31 +0000)]
Add an implementation of the initialization routine for IPA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115947
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 18:31:00 +0000 (18:31 +0000)]
Add initialization routines for Analysis and IPA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115946
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 7 Oct 2010 18:29:44 +0000 (18:29 +0000)]
gtest: Fix warnings on MinGW.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115945
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 7 Oct 2010 18:12:54 +0000 (18:12 +0000)]
CMake: Fix warning in gtest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115935
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 18:09:59 +0000 (18:09 +0000)]
Add an initialization routine for libLLVMipo.a
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115933
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 18:05:11 +0000 (18:05 +0000)]
Add a header that I forgot to commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115932
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 7 Oct 2010 17:56:39 +0000 (17:56 +0000)]
Cache interval iterators in SplitEditor::addTruncSimpleRange so we only have to
do one find().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115929
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 7 Oct 2010 17:56:35 +0000 (17:56 +0000)]
Clean up debug printing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115928
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 17:55:47 +0000 (17:55 +0000)]
Next step on the getting-rid-of-static-ctors train: begin adding per-library
initialization functions that initialize the set of passes implemented in
that library. Add C bindings for these functions as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115927
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 17:04:18 +0000 (17:04 +0000)]
Fix a warning when building with clang++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115924
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 7 Oct 2010 16:56:28 +0000 (16:56 +0000)]
trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115923
91177308-0d34-0410-b5e6-
96231b3b80d8
Kalle Raiskila [Thu, 7 Oct 2010 16:32:42 +0000 (16:32 +0000)]
Add the missing cases to the type->registerclass conversion function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115921
91177308-0d34-0410-b5e6-
96231b3b80d8
Kalle Raiskila [Thu, 7 Oct 2010 16:24:35 +0000 (16:24 +0000)]
Implement two virtual functions in SPUTargetLowering.
Before the implementation of isLegalAddressingMode, some rare cases
of code were miscompiled if optimized with the LoopStrengthReduce pass.
It is unclear (to me) if LSR is "allowed" to produce wrong code with a
bad TargetLowering, or if the bug is elsewhere and this patch just
hides it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115919
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Thu, 7 Oct 2010 07:21:04 +0000 (07:21 +0000)]
Minor cosmetic change: fix DOSish \r\n.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115910
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 7 Oct 2010 06:29:33 +0000 (06:29 +0000)]
MC-COFF: Fix symbol aliases. Fixes PR8251.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115909
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 7 Oct 2010 06:29:21 +0000 (06:29 +0000)]
test: Fix binary stdin issues with coff-dump on Windows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115908
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 7 Oct 2010 05:50:44 +0000 (05:50 +0000)]
Use the correct register class for load instructions - fixes
compilation of MultiSource/Benchmarks/Bullet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115907
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 7 Oct 2010 05:39:19 +0000 (05:39 +0000)]
Use the correct register class here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115906
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 7 Oct 2010 05:31:49 +0000 (05:31 +0000)]
Use the thumb2 conditional move instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115905
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 7 Oct 2010 05:14:08 +0000 (05:14 +0000)]
Remove in-progress assertion, add TODO.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115904
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 04:17:38 +0000 (04:17 +0000)]
Add the header that I accidentally forgot from r115900.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115901
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 04:13:08 +0000 (04:13 +0000)]
Move the pass initialization helper functions into the llvm namespace, and add
a header declaring them all. This is also where we will declare per-library pass-set
initializer functions down the road.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115900
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 7 Oct 2010 01:50:48 +0000 (01:50 +0000)]
Model operand cycles of vldm / vstm; also fixes scheduling itineraries of vldr / vstr, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115898
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 01:37:01 +0000 (01:37 +0000)]
add support for isConvertibleToThreeAddress to ArithBinOpEFLAGS,
allowing us to convert ADD over. deletes 160 lines of .td file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115897
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 01:26:27 +0000 (01:26 +0000)]
Fix a few issues in ArithBinOpEFLAGS that made it specific to and.
Start using ArithBinOpEFLAGS for OR, XOR, and SUB.
This removes 500 lines from the .td file. Now AND/OR/XOR/SUB are all
defined exactly the same way instead of being close relatives.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115896
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 01:10:20 +0000 (01:10 +0000)]
Convert 'and' to single instance of a multipattern
which instantiates the 34 versions of and all in one
swoop. The BaseOpc/BaseOpc2/BaseOpc4 stuff should not
be required, but tblgen's feeble brain explodes when I
use Or4<BaseOpc>.V in the multipattern.
No change in the generated .inc files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115893
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 7 Oct 2010 00:53:56 +0000 (00:53 +0000)]
Allow use of the 16-bit literal move instruction in CMOVs for Thumb2 mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115890
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 00:43:39 +0000 (00:43 +0000)]
add a new BinOpAI class to represent the immediate form that directly acts on EAX.
This does change the generated .inc files to include the implicit use/def of eax.
Since these instructions are only generated by the assembler and disassembler it
doesn't actually matter though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115885
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 7 Oct 2010 00:42:42 +0000 (00:42 +0000)]
Allow use of the 16-bit literal move instruction in CMOVs for ARM mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115884
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 00:35:28 +0000 (00:35 +0000)]
add a bunch of classes for other common patterns.
As usual, no change in generated .inc files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115882
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 7 Oct 2010 00:31:16 +0000 (00:31 +0000)]
Since the Hello pass is built as a loadable dynamic library, don't try to convert it to new-style registration yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115881
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 00:12:45 +0000 (00:12 +0000)]
Define a new BinOpRI8 class and use it to define the imm8 versions of and.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115880
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 7 Oct 2010 00:07:26 +0000 (00:07 +0000)]
Constrain the offset register to a *_NOSP register class when inserting LEA
instructions.
This unbreaks the machine code verifier and fixes PR8317.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115879
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 00:01:39 +0000 (00:01 +0000)]
add the pattern operator to match to X86TypeInfo, use this to
convert AND64ri32 to use BinOpRI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115878
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Oct 2010 00:01:00 +0000 (00:01 +0000)]
add a common SDPatternOperator base class to SDNode and PatFrag for
stuff that wants to take one or the other. These can both be used
as the operation of a dag in a pattern match.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115877
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 6 Oct 2010 23:56:46 +0000 (23:56 +0000)]
Properly handle GR32_NOSP in X86RegisterInfo::getMatchingSuperRegClass.
This function looks like it is about ready to be generated by TebleGen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115876
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 6 Oct 2010 23:54:39 +0000 (23:54 +0000)]
Add MachineRegisterInfo::constrainRegClass and use it in MachineCSE.
This function is intended to be used when inserting a machine instruction that
trivially restricts the legal registers, like LEA requiring a GR32_NOSP
argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115875
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 6 Oct 2010 23:54:35 +0000 (23:54 +0000)]
Skip unused registers when verifying LiveIntervals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115874
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 6 Oct 2010 23:50:30 +0000 (23:50 +0000)]
Fixed RELEASE_28 tags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115872
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 6 Oct 2010 22:46:47 +0000 (22:46 +0000)]
remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115860
91177308-0d34-0410-b5e6-
96231b3b80d8
Jason W Kim [Wed, 6 Oct 2010 22:36:46 +0000 (22:36 +0000)]
First in a sequence of ARM/MC/*ELF* specific work.
Lifted the EmitRawText calls to ARMAsmPrinter::emitAttribute()
Added ARMAsmPrinter::emitAttributes() (plural s).
TODO:
.cpu attribute needs to be refactored
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115859
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 6 Oct 2010 22:28:19 +0000 (22:28 +0000)]
Another case of 256 sections not being enough :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115858
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 6 Oct 2010 22:23:20 +0000 (22:23 +0000)]
Appease the clang self-host buildbot by providing a correct instantiation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115857
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 6 Oct 2010 22:01:26 +0000 (22:01 +0000)]
Clean up MOVi32imm and t2MOVi32imm pseudo instruction definitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115853
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 6 Oct 2010 21:36:43 +0000 (21:36 +0000)]
Kill of the vestiges of the 'call' Modifier (no longer needed for PLT).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115845
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 6 Oct 2010 21:22:32 +0000 (21:22 +0000)]
Now that VDUPfqf and VDUPfdfare properly pseudos, kill the no-longer-needed
"lane" operand modifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115843
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 6 Oct 2010 21:17:07 +0000 (21:17 +0000)]
Now that VDUPfqf and VDUPfdfare properly pseudos, nuke the special handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115841
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 6 Oct 2010 21:16:16 +0000 (21:16 +0000)]
Change the NEON VDUPfdf and VDUPfqf pseudo-instructions to actually be
pseudo instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115840
91177308-0d34-0410-b5e6-
96231b3b80d8
Tobias Grosser [Wed, 6 Oct 2010 21:07:30 +0000 (21:07 +0000)]
Fix libc++ link in release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115837
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 6 Oct 2010 21:02:29 +0000 (21:02 +0000)]
Get binding and visibility info from the the alias, but Type from the symbol
being aliased.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115836
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 6 Oct 2010 21:02:27 +0000 (21:02 +0000)]
Hide analysis group registration behind a macro, just like pass registration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115835
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 6 Oct 2010 20:50:40 +0000 (20:50 +0000)]
Add support for DW_TAG_unspecified_parameters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115833
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 6 Oct 2010 20:36:55 +0000 (20:36 +0000)]
Add a 'pattern' arg to the ARM PseudoNeonI class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115831
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Wed, 6 Oct 2010 20:36:47 +0000 (20:36 +0000)]
MC: Add missing forward in MCLoggingStreamer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115830
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Wed, 6 Oct 2010 20:36:38 +0000 (20:36 +0000)]
Cleanup Whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115829
91177308-0d34-0410-b5e6-
96231b3b80d8