OSDN Git Service
Chris Lattner [Sun, 14 Nov 2010 21:12:33 +0000 (21:12 +0000)]
switch PPC to a simplified MCInstLowering model.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119074
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 14 Nov 2010 21:11:16 +0000 (21:11 +0000)]
Fix another case of a .comm directive without a corresponding .type
directive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119073
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 21:09:28 +0000 (21:09 +0000)]
fix PPC.h to not pull in TargetMachine.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119072
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 21:00:02 +0000 (21:00 +0000)]
rename LowerToMCInst -> LowerARMMachineInstrToMCInst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119071
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 20:58:38 +0000 (20:58 +0000)]
even more simplifications. ARM MCInstLowering is now just
a single function instead of a class. It doesn't need the
complexity that X86 does.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119070
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 20:51:15 +0000 (20:51 +0000)]
hopefully unbreak the cmake build, patch by frits van bommel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119069
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 20:41:53 +0000 (20:41 +0000)]
more shrinkification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119068
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 20:40:08 +0000 (20:40 +0000)]
more simplifications.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119067
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 20:31:06 +0000 (20:31 +0000)]
simplify and tidy up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119066
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 20:22:56 +0000 (20:22 +0000)]
implement basic support for memory operands and crbit operands,
this fixes 3 more ppc tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119065
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Sun, 14 Nov 2010 20:15:05 +0000 (20:15 +0000)]
CMakeLists.txt: removed mismatched endif predicate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119064
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 20:11:21 +0000 (20:11 +0000)]
implement several trivial operand printers, reducing
failures in CodeGen/PowerPC from 120 -> 117
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119063
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 20:02:39 +0000 (20:02 +0000)]
Implement support for printing register and immediate operands,
add support for darwin vs aix syntax. We now can print instructions
like this:
add r3, r3, r4
blr
and (in aix mode):
add 3, 3, 4
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119062
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 19:53:02 +0000 (19:53 +0000)]
stub out PPCMCInstLowering, add a new option that uses it and the new
instprinter when -enable-ppc-inst-printer is passed to llc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119061
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 14 Nov 2010 19:40:55 +0000 (19:40 +0000)]
Fix the type of a symbol created with .comm and no corresponding .type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119060
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 19:40:38 +0000 (19:40 +0000)]
stub out a powerpc MCInstPrinter implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119059
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 19:12:57 +0000 (19:12 +0000)]
hopefully fix cmake as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119058
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 19:10:47 +0000 (19:10 +0000)]
fix the autoconf script to detect "has asmprinter"ness of a target by
looking for lib/Target/*AsmPrinter.cpp. Fix llvm-config to handle targets
that don't have an explicit AsmPrinter library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119057
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 18:43:56 +0000 (18:43 +0000)]
move all the target's asmprinters into the main target. The piece
that should be split out is the InstPrinter (if a target is mc'ized).
This change makes all the targets be consistent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119056
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sun, 14 Nov 2010 18:36:10 +0000 (18:36 +0000)]
If dom tree information is available, make it possible to pass
it to get better phi node simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119055
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 18:33:33 +0000 (18:33 +0000)]
move PPCAsmPrinter into the main PPC library, like ARM and X86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119054
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 18:27:11 +0000 (18:27 +0000)]
fix cmake
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119053
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 18:25:50 +0000 (18:25 +0000)]
no alpha jit support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119052
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 18:24:41 +0000 (18:24 +0000)]
remove JIT support from the Alpha backend. The JIT will be moving to MC,
and the Alpha backend isn't MCized yet. Approved by Andrew.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119051
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sun, 14 Nov 2010 18:14:32 +0000 (18:14 +0000)]
Segregate tests by target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119050
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 18:09:50 +0000 (18:09 +0000)]
random acts of tidiness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119049
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sun, 14 Nov 2010 13:30:18 +0000 (13:30 +0000)]
Teach InstructionSimplify about phi nodes. I chose to have it simply
offload the work to hasConstantValue rather than do something more
complicated (such handling mutually recursive phis) because (1) it is
not clear it is worth it; and (2) if it is worth it, maybe such logic
would be better placed in hasConstantValue. Adjust some GVN tests
which are now cleaned up much further (eg: all phi nodes are removed).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119043
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sun, 14 Nov 2010 12:53:18 +0000 (12:53 +0000)]
Boost the power of phi node constant folding slightly: if all
operands are the phi node itself or undef, then return undef.
This logic already existed at a higher level so in practice it
shouldn't make the slightest difference. Note that this code
could be replaced by a call to PN->hasConstantValue(). However
since we bail out the moment we see a non-constant operand, it
is more efficient to have a specialized version of that logic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119041
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sun, 14 Nov 2010 12:37:51 +0000 (12:37 +0000)]
unittests/CMakeLists.txt: Add missing VMCore/ValueMapTest.cpp to VMCoreTests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119040
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sun, 14 Nov 2010 11:23:23 +0000 (11:23 +0000)]
Strip trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119038
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 07:03:49 +0000 (07:03 +0000)]
rename test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119033
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 07:03:38 +0000 (07:03 +0000)]
filecheckize, remove an old and useless test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119032
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Nov 2010 07:02:03 +0000 (07:02 +0000)]
this test is pretty pointless and "propogation" isn't a word (or so Misha claims).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119031
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sun, 14 Nov 2010 05:37:38 +0000 (05:37 +0000)]
Second attempt at providing correct encodings for Thumb2 binary operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119029
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 14 Nov 2010 04:17:37 +0000 (04:17 +0000)]
Handle a peculiar comdat case: Creating a section with an undefined
signature symbol causes a local symbol to be created unless there is
some other use of the symbol.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119026
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sun, 14 Nov 2010 03:28:22 +0000 (03:28 +0000)]
FileCheck: Eliminate DOSish \r from input file.
It can pass two tests below on Win32.
- Clang :: CodeGenCXX/dyncast.cpp
- LLVM :: CodeGen/ARM/globals.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119023
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 14 Nov 2010 03:12:24 +0000 (03:12 +0000)]
Simplify getSymbolIndexInSymbolTable by setting the actual index of
the symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119022
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 14 Nov 2010 01:34:31 +0000 (01:34 +0000)]
Fix warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119021
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 13 Nov 2010 21:33:19 +0000 (21:33 +0000)]
Testcase to go along with commit 118923 ("Have GVN simplify instructions
as it goes"). Before -std-compile-opts only got it down to
%a = tail call i32 @foo(i32 0) readnone
%x = tail call i32 @foo(i32 %a) readnone
%y = tail call i32 @foo(i32 %a) readnone
%z = icmp eq i32 %x, %y
ret i1 %z
while now -basicaa -gvn alone reduce it to
%a = call i32 @foo(i32 0) readnone
%x = call i32 @foo(i32 %a) readnone
ret i1 true
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119009
91177308-0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Sat, 13 Nov 2010 19:54:30 +0000 (19:54 +0000)]
Recognise 32-bit ror-based bswap implementation used by uclibc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119007
91177308-0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Sat, 13 Nov 2010 19:54:23 +0000 (19:54 +0000)]
Support ; as asm separator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119006
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 13 Nov 2010 15:10:37 +0000 (15:10 +0000)]
Generalize the reassociation transform in SimplifyCommutative (now renamed to
SimplifyAssociativeOrCommutative) "(A op C1) op C2" -> "A op (C1 op C2)",
which previously was only done if C1 and C2 were constants, to occur whenever
"C1 op C2" simplifies (a la InstructionSimplify). Since the simplifying operand
combination can no longer be assumed to be the right-hand terms, consider all of
the possible permutations. When compiling "gcc as one big file", transform 2
(i.e. using right-hand operands) fires about 4000 times but it has to be said
that most of the time the simplifying operands are both constants. Transforms
3, 4 and 5 each fired once. Transform 6, which is an existing transform that
I didn't change, never fired. With this change, the testcase is now optimized
perfectly with one run of instcombine (previously it required instcombine +
reassociate + instcombine, and it may just have been luck that this worked).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119002
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 13 Nov 2010 12:16:27 +0000 (12:16 +0000)]
Fix typo pointed out by Trevor Harmon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119001
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 13 Nov 2010 11:20:05 +0000 (11:20 +0000)]
Comment out the defms until they're activated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119000
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 13 Nov 2010 10:57:02 +0000 (10:57 +0000)]
Add uses of the *_ldst_multi multiclasses. These aren't used yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118999
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 13 Nov 2010 10:43:34 +0000 (10:43 +0000)]
Convert the modes to lower case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118998
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 13 Nov 2010 10:40:19 +0000 (10:40 +0000)]
Minor cleanups:
- Get the opcode once.
- Add a ParserMatchClass to reglist.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118997
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 13 Nov 2010 09:09:38 +0000 (09:09 +0000)]
Add *_ldst_mult multiclasses to the ARM back-end. These will be used in the
future to separate out the ia, ib, da, db variants of the load/store multiple
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118995
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 07:33:40 +0000 (07:33 +0000)]
MC: Simplify Mach-O and ELF object writer implementations.
- What was I thinking?????
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118992
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Sat, 13 Nov 2010 05:48:21 +0000 (05:48 +0000)]
Fixed error and re-enabled MBlaze MC disassembler tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118987
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 13 Nov 2010 05:14:20 +0000 (05:14 +0000)]
Conditional moves are slightly more expensive than moves.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118985
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sat, 13 Nov 2010 04:55:06 +0000 (04:55 +0000)]
Fix warning and add support for printing gnu_unique_object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118981
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sat, 13 Nov 2010 04:51:02 +0000 (04:51 +0000)]
Parse and record the gnu_unique_object type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118980
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Sat, 13 Nov 2010 04:17:15 +0000 (04:17 +0000)]
Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118978
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sat, 13 Nov 2010 03:55:04 +0000 (03:55 +0000)]
This test stops after disassembling 1 instructions on
darwin and, judging from the buildbots, Linux.
Removing it for now, but this is not the right fix,
Wesley please look at it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118977
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sat, 13 Nov 2010 03:18:27 +0000 (03:18 +0000)]
Parse and remember discriminators in .loc line. I try to output them with
another patch.
This lets us parse a bit more of the gcc 4.5 output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118975
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Sat, 13 Nov 2010 02:51:00 +0000 (02:51 +0000)]
Add test cases that should have been committed with 118969.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118974
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 02:48:57 +0000 (02:48 +0000)]
JIT: More nitty style tweakage, aka territory marking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118973
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 02:48:51 +0000 (02:48 +0000)]
report_fatal_error: Simplify a possible ambiguity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118972
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 02:48:46 +0000 (02:48 +0000)]
More style nittiness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118971
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 02:48:41 +0000 (02:48 +0000)]
Clean up some doxyments/style.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118970
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Sat, 13 Nov 2010 02:37:59 +0000 (02:37 +0000)]
1. Adding test cases for MBlaze MC disassembler.
2. Fixing several errors in disassembler uncovered by test cases.
3. Fixing invalid encoding of PCMPEQ and PCMPNE uncovered by test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118969
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 13 Nov 2010 02:25:14 +0000 (02:25 +0000)]
Add conditional move of large immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118968
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Sat, 13 Nov 2010 01:28:30 +0000 (01:28 +0000)]
Swap multiclass operand order for consistency with other patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118965
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Sat, 13 Nov 2010 01:07:20 +0000 (01:07 +0000)]
Continue ARM indexed load refactoring. Multiclass for LDR{B} pre/post indexed
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118963
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sat, 13 Nov 2010 01:06:27 +0000 (01:06 +0000)]
Fix the encoding of negative line deltas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118962
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 00:55:45 +0000 (00:55 +0000)]
Fix some more 80-col violas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118959
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 00:55:42 +0000 (00:55 +0000)]
Fix 80-col violation / non-sensicalness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118958
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Sat, 13 Nov 2010 00:35:48 +0000 (00:35 +0000)]
More ARM load/store indexed refactoring. Also fix an incorrect IndexMode
flag for the LDRT/STRT family instructions as a side effect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118955
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 13 Nov 2010 00:31:40 +0000 (00:31 +0000)]
Revert r118917, which is implicated in the llvm-gcc-i386-linux-selfhost failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118954
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 00:28:32 +0000 (00:28 +0000)]
Update CMake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118953
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 00:28:01 +0000 (00:28 +0000)]
lli: Switch to using ParseIRFile, for consistency with other LLVM tools.
- Also, switch tests to not using llvm-as. They run 20% faster now, not that it matters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118952
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 13 Nov 2010 00:27:47 +0000 (00:27 +0000)]
Fix an obvious typo which inverted an immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118951
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Sat, 13 Nov 2010 00:25:06 +0000 (00:25 +0000)]
This should be still failing, but is. Disable it with the
forget-me-stick for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118950
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Sat, 13 Nov 2010 00:03:46 +0000 (00:03 +0000)]
1. Adding missing immediate mode asm parser test cases.
2. Fixing improper immediate mode reverse subtract.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118948
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 12 Nov 2010 23:50:48 +0000 (23:50 +0000)]
Temporarily revert this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118946
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Nov 2010 23:46:13 +0000 (23:46 +0000)]
For pre-v6t2 targets, only select MOVi32imm if the immediate can be handled with movi + orr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118945
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Fri, 12 Nov 2010 23:41:10 +0000 (23:41 +0000)]
Fixing improperly encoded reverse subtract instructions in MBlaze backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118943
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 12 Nov 2010 23:36:03 +0000 (23:36 +0000)]
Revert r118939 while I work out why it broke some buildbots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118942
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Fri, 12 Nov 2010 23:30:17 +0000 (23:30 +0000)]
1. Finishing MBlaze MC asm parser test cases
2. Parsing .word directive in MBlaze asm parser
3. Fixing hack where memory instructions reversed order of last two parameters
4. Fixing many improperly encoded instructions
5. Support parsing special instructions (MFS,MTS,etc.)
6. Removing unused functions from inst printer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118941
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 12 Nov 2010 23:20:42 +0000 (23:20 +0000)]
Remove DW_AT_start_scope support. It is incomplete and superseeded by location entries support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118940
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 12 Nov 2010 23:18:11 +0000 (23:18 +0000)]
Attemt to provide correct encodings for Thumb2 binary operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118939
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Nov 2010 23:03:38 +0000 (23:03 +0000)]
Eliminate ARM::MOVi2pieces. Just use MOVi32imm and expand it to either movi+orr or movw+movt depending on the subtarget.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118938
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 12 Nov 2010 22:52:32 +0000 (22:52 +0000)]
Make this happen for ARM like x86. Don't entirely bail out when
an address is in a different block, get it into a register and go
from there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118936
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Nov 2010 22:42:47 +0000 (22:42 +0000)]
Add conditional mvn instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118935
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 12 Nov 2010 21:29:10 +0000 (21:29 +0000)]
Zap a copy/paste-o bit of dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118926
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 12 Nov 2010 21:28:15 +0000 (21:28 +0000)]
Refactor to parameterize some ARM load/store encoding patterns. Preparatory
to splitting the load/store pre/post indexed instructions into [r, r] and
[r, imm] forms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118925
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 12 Nov 2010 21:12:40 +0000 (21:12 +0000)]
First stab at providing correct Thumb2 encodings, start with adc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118924
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 12 Nov 2010 21:10:24 +0000 (21:10 +0000)]
Have GVN simplify instructions as it goes. For example, consider
"%z = %x and %y". If GVN can prove that %y equals %x, then it turns
this into "%z = %x and %x". With the new code, %z will be replaced
with %x everywhere (and then deleted). Previously %z would be value
numbered too, which is a waste of time. Also, while a clever value
numbering algorithm would give %z the same value number as %x, our
current one doesn't do so (at least I don't think it does). The new
logic has an essentially equivalent effect to what you would get if
%z was given the same value number as %x, i.e. it should make value
numbering smarter. While there, get hold of target data once at the
start rather than a gazillion times all over the place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118923
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Nov 2010 20:32:20 +0000 (20:32 +0000)]
Add some missing isel predicates on def : pat patterns to avoid generating VFP vmla / vmls (they cause stalls). Disabling them in isel is properly not a right solution, I'll look into a proper solution next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118922
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 12 Nov 2010 19:27:45 +0000 (19:27 +0000)]
Kill more unused stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118921
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 12 Nov 2010 19:26:04 +0000 (19:26 +0000)]
MCELF: Copy the symbol name only if we're going to modify it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118920
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 12 Nov 2010 19:24:53 +0000 (19:24 +0000)]
Remove unused class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118919
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 12 Nov 2010 19:24:06 +0000 (19:24 +0000)]
Add --enable-docs. Patch by NAKAMURA Takumi.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118918
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 12 Nov 2010 19:14:00 +0000 (19:14 +0000)]
When the definition of an address value is in a different block
from the user of the address, fall back to just using the
address in a register instead of bailing out of fast-isel
altogether.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118917
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 12 Nov 2010 18:54:56 +0000 (18:54 +0000)]
accept lret as an alias for lretl, fixing the reopened part of PR8592
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118916
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 12 Nov 2010 18:41:26 +0000 (18:41 +0000)]
Remove what looks like dead code in the production of debug lines.
We only produce debug line information if we have seen a line directive, so
this code is dead. Also, if we want to be bug by bug compatible with
gas and sometimes produce "empty" .debug_line sections, this will
match the content produced by gas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118914
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 12 Nov 2010 18:36:03 +0000 (18:36 +0000)]
typo (4th checkin for one fix)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118913
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 12 Nov 2010 18:17:46 +0000 (18:17 +0000)]
Emacs auto-fill bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118908
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 12 Nov 2010 18:13:26 +0000 (18:13 +0000)]
Fill in the default predication bits for ARM unconditional branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118907
91177308-0d34-0410-b5e6-
96231b3b80d8