oota-llvm.git
13 years agoeven more simplifications. ARM MCInstLowering is now just
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

13 years agohopefully unbreak the cmake build, patch by frits van bommel.
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

13 years agomore shrinkification
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

13 years agomore simplifications.
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

13 years agosimplify and tidy up
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

13 years agoimplement basic support for memory operands and crbit operands,
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

13 years agoCMakeLists.txt: removed mismatched endif predicate.
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

13 years agoimplement several trivial operand printers, reducing
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

13 years agoImplement support for printing register and immediate operands,
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

13 years agostub out PPCMCInstLowering, add a new option that uses it and the new
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

13 years agoFix the type of a symbol created with .comm and no corresponding .type.
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

13 years agostub out a powerpc MCInstPrinter implementation.
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

13 years agohopefully fix cmake as well.
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

13 years agofix the autoconf script to detect "has asmprinter"ness of a target by
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

13 years agomove all the target's asmprinters into the main target. The piece
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

13 years agoIf dom tree information is available, make it possible to pass
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

13 years agomove PPCAsmPrinter into the main PPC library, like ARM and X86.
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

13 years agofix cmake
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

13 years agono alpha jit support.
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

13 years agoremove JIT support from the Alpha backend. The JIT will be moving to MC,
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

13 years agoSegregate tests by target.
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

13 years agorandom acts of tidiness.
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

13 years agoTeach InstructionSimplify about phi nodes. I chose to have it simply
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

13 years agoBoost the power of phi node constant folding slightly: if all
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

13 years agounittests/CMakeLists.txt: Add missing VMCore/ValueMapTest.cpp to VMCoreTests.
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

13 years agoStrip trailing whitespace.
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

13 years agorename test.
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

13 years agofilecheckize, remove an old and useless test
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

13 years agothis test is pretty pointless and "propogation" isn't a word (or so Misha claims).
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

13 years agoSecond attempt at providing correct encodings for Thumb2 binary operators.
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

13 years agoHandle a peculiar comdat case: Creating a section with an undefined
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

13 years agoFileCheck: Eliminate DOSish \r from input file.
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

13 years agoSimplify getSymbolIndexInSymbolTable by setting the actual index of
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

13 years agoFix warning.
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

13 years agoTestcase to go along with commit 118923 ("Have GVN simplify instructions
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

13 years agoRecognise 32-bit ror-based bswap implementation used by uclibc
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

13 years agoSupport ; as asm separator
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

13 years agoGeneralize the reassociation transform in SimplifyCommutative (now renamed to
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

13 years agoFix typo pointed out by Trevor Harmon.
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

13 years agoComment out the defms until they're activated.
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

13 years agoAdd uses of the *_ldst_multi multiclasses. These aren't used yet.
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

13 years agoConvert the modes to lower case.
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

13 years agoMinor cleanups:
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

13 years agoAdd *_ldst_mult multiclasses to the ARM back-end. These will be used in the
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

13 years agoMC: Simplify Mach-O and ELF object writer implementations.
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

13 years agoFixed error and re-enabled MBlaze MC disassembler tests.
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

13 years agoConditional moves are slightly more expensive than moves.
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

13 years agoFix warning and add support for printing gnu_unique_object.
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

13 years agoParse and record the gnu_unique_object type.
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

13 years agoTrailing whitespace.
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

13 years agoThis test stops after disassembling 1 instructions on
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

13 years agoParse and remember discriminators in .loc line. I try to output them with
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

13 years agoAdd test cases that should have been committed with 118969.
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

13 years agoJIT: More nitty style tweakage, aka territory marking.
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

13 years agoreport_fatal_error: Simplify a possible ambiguity.
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

13 years agoMore style nittiness.
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

13 years agoClean up some doxyments/style.
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

13 years ago1. Adding test cases for MBlaze MC disassembler.
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

13 years agoAdd conditional move of large immediate.
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

13 years agoSwap multiclass operand order for consistency with other patterns.
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

13 years agoContinue ARM indexed load refactoring. Multiclass for LDR{B} pre/post indexed
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

13 years agoFix the encoding of negative line deltas.
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

13 years agoFix some more 80-col violas.
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

13 years agoFix 80-col violation / non-sensicalness.
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

13 years agoMore ARM load/store indexed refactoring. Also fix an incorrect IndexMode
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

13 years agoRevert r118917, which is implicated in the llvm-gcc-i386-linux-selfhost failure.
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

13 years agoUpdate CMake.
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

13 years agolli: Switch to using ParseIRFile, for consistency with other LLVM tools.
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

13 years agoFix an obvious typo which inverted an immediate.
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

13 years agoThis should be still failing, but is. Disable it with the
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

13 years ago1. Adding missing immediate mode asm parser test cases.
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

13 years agoTemporarily revert this.
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

13 years agoFor pre-v6t2 targets, only select MOVi32imm if the immediate can be handled with...
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

13 years agoFixing improperly encoded reverse subtract instructions in MBlaze backend.
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

13 years agoRevert r118939 while I work out why it broke some buildbots.
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

13 years ago1. Finishing MBlaze MC asm parser test cases
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

13 years agoRemove DW_AT_start_scope support. It is incomplete and superseeded by location entrie...
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

13 years agoAttemt to provide correct encodings for Thumb2 binary operators.
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

13 years agoEliminate ARM::MOVi2pieces. Just use MOVi32imm and expand it to either movi+orr or...
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

13 years agoMake this happen for ARM like x86. Don't entirely bail out when
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

13 years agoAdd conditional mvn instructions.
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

13 years agoZap a copy/paste-o bit of dead code.
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

13 years agoRefactor to parameterize some ARM load/store encoding patterns. Preparatory
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

13 years agoFirst stab at providing correct Thumb2 encodings, start with adc.
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

13 years agoHave GVN simplify instructions as it goes. For example, consider
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

13 years agoAdd some missing isel predicates on def : pat patterns to avoid generating VFP vmla...
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

13 years agoKill more unused stuff.
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

13 years agoMCELF: Copy the symbol name only if we're going to modify it.
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

13 years agoRemove unused class.
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

13 years agoAdd --enable-docs. Patch by NAKAMURA Takumi.
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

13 years agoWhen the definition of an address value is in a different block
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

13 years agoaccept lret as an alias for lretl, fixing the reopened part of PR8592
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

13 years agoRemove what looks like dead code in the production of debug lines.
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

13 years agotypo (4th checkin for one fix)
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

13 years agoEmacs auto-fill bug.
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

13 years agoFill in the default predication bits for ARM unconditional branch.
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

13 years agoTest case for PR8287: SD scheduling time. Fixed in r118904.
Andrew Trick [Fri, 12 Nov 2010 17:57:22 +0000 (17:57 +0000)]
Test case for PR8287: SD scheduling time. Fixed in r118904.

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

13 years agoEncoding for ARM LDRSB instructions.
Jim Grosbach [Fri, 12 Nov 2010 17:52:59 +0000 (17:52 +0000)]
Encoding for ARM LDRSB instructions.

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

13 years agoFixes PR8287: SD scheduling time. The fix is a failsafe that prevents
Andrew Trick [Fri, 12 Nov 2010 17:50:46 +0000 (17:50 +0000)]
Fixes PR8287: SD scheduling time. The fix is a failsafe that prevents
catastrophic compilation time in the event of unreasonable LLVM
IR. Code quality is a separate issue--someone upstream needs to do a
better job of reducing to llvm.memcpy. If the situation can be reproduced with
any supported frontend, then it will be a separate bug.

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

13 years agoimplement PR8592: empirically "lretq" is a "lret" with a rex.w prefix.
Chris Lattner [Fri, 12 Nov 2010 17:41:20 +0000 (17:41 +0000)]
implement PR8592: empirically "lretq" is a "lret" with a rex.w prefix.

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