Rafael Espindola
444d9c0b02
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.
llvm-svn: 119026
2010-11-14 04:17:37 +00:00
NAKAMURA Takumi
44e935f199
FileCheck: Eliminate DOSish \r from input file.
...
It can pass two tests below on Win32.
- Clang :: CodeGenCXX/dyncast.cpp
- LLVM :: CodeGen/ARM/globals.ll
llvm-svn: 119023
2010-11-14 03:28:22 +00:00
Rafael Espindola
55e673b1c2
Simplify getSymbolIndexInSymbolTable by setting the actual index of
...
the symbols.
llvm-svn: 119022
2010-11-14 03:12:24 +00:00
Rafael Espindola
1b4c835948
Fix warning.
...
llvm-svn: 119021
2010-11-14 01:34:31 +00:00
Duncan Sands
47dddbe925
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
llvm-svn: 119009
2010-11-13 21:33:19 +00:00
Peter Collingbourne
4ec6b2dbe7
Recognise 32-bit ror-based bswap implementation used by uclibc
...
llvm-svn: 119007
2010-11-13 19:54:30 +00:00
Peter Collingbourne
6c3094234e
Support ; as asm separator
...
llvm-svn: 119006
2010-11-13 19:54:23 +00:00
Duncan Sands
88fc6cd7fe
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).
llvm-svn: 119002
2010-11-13 15:10:37 +00:00
Duncan Sands
6ff5e53731
Fix typo pointed out by Trevor Harmon.
...
llvm-svn: 119001
2010-11-13 12:16:27 +00:00
Bill Wendling
49dd03e223
Comment out the defms until they're activated.
...
llvm-svn: 119000
2010-11-13 11:20:05 +00:00
Bill Wendling
fadcb3cded
Add uses of the *_ldst_multi multiclasses. These aren't used yet.
...
llvm-svn: 118999
2010-11-13 10:57:02 +00:00
Bill Wendling
184bc1368d
Convert the modes to lower case.
...
llvm-svn: 118998
2010-11-13 10:43:34 +00:00
Bill Wendling
0a55425158
Minor cleanups:
...
- Get the opcode once.
- Add a ParserMatchClass to reglist.
llvm-svn: 118997
2010-11-13 10:40:19 +00:00
Bill Wendling
aa9ca6fcca
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.
llvm-svn: 118995
2010-11-13 09:09:38 +00:00
Daniel Dunbar
2ba9f79194
MC: Simplify Mach-O and ELF object writer implementations.
...
- What was I thinking?????
llvm-svn: 118992
2010-11-13 07:33:40 +00:00
Wesley Peck
4a2644f203
Fixed error and re-enabled MBlaze MC disassembler tests.
...
llvm-svn: 118987
2010-11-13 05:48:21 +00:00
Evan Cheng
239d9b439d
Conditional moves are slightly more expensive than moves.
...
llvm-svn: 118985
2010-11-13 05:14:20 +00:00
Rafael Espindola
d2ff64abae
Fix warning and add support for printing gnu_unique_object.
...
llvm-svn: 118981
2010-11-13 04:55:06 +00:00
Rafael Espindola
9cd0fd30e0
Parse and record the gnu_unique_object type.
...
llvm-svn: 118980
2010-11-13 04:51:02 +00:00
Jim Grosbach
4635621b41
Trailing whitespace.
...
llvm-svn: 118978
2010-11-13 04:17:15 +00:00
Dale Johannesen
7a2e75185a
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.
llvm-svn: 118977
2010-11-13 03:55:04 +00:00
Rafael Espindola
00c5605efc
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.
llvm-svn: 118975
2010-11-13 03:18:27 +00:00
Wesley Peck
5c8b28f1fe
Add test cases that should have been committed with 118969.
...
llvm-svn: 118974
2010-11-13 02:51:00 +00:00
Daniel Dunbar
fef193dc12
JIT: More nitty style tweakage, aka territory marking.
...
llvm-svn: 118973
2010-11-13 02:48:57 +00:00
Daniel Dunbar
1f695efa5e
report_fatal_error: Simplify a possible ambiguity.
...
llvm-svn: 118972
2010-11-13 02:48:51 +00:00
Daniel Dunbar
5517a3a720
More style nittiness.
...
llvm-svn: 118971
2010-11-13 02:48:46 +00:00
Daniel Dunbar
8b2d88846b
Clean up some doxyments/style.
...
llvm-svn: 118970
2010-11-13 02:48:41 +00:00
Wesley Peck
c534d55751
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.
llvm-svn: 118969
2010-11-13 02:37:59 +00:00
Evan Cheng
a7d3c3d387
Add conditional move of large immediate.
...
llvm-svn: 118968
2010-11-13 02:25:14 +00:00
Jim Grosbach
cab8b12f7a
Swap multiclass operand order for consistency with other patterns.
...
llvm-svn: 118965
2010-11-13 01:28:30 +00:00
Jim Grosbach
c8b3147ca5
Continue ARM indexed load refactoring. Multiclass for LDR{B} pre/post indexed
...
instructions.
llvm-svn: 118963
2010-11-13 01:07:20 +00:00
Rafael Espindola
e296fd654b
Fix the encoding of negative line deltas.
...
llvm-svn: 118962
2010-11-13 01:06:27 +00:00
Daniel Dunbar
a34e9e580c
Fix some more 80-col violas.
...
llvm-svn: 118959
2010-11-13 00:55:45 +00:00
Daniel Dunbar
2b1fd6592e
Fix 80-col violation / non-sensicalness.
...
llvm-svn: 118958
2010-11-13 00:55:42 +00:00
Jim Grosbach
03eb1993ea
More ARM load/store indexed refactoring. Also fix an incorrect IndexMode
...
flag for the LDRT/STRT family instructions as a side effect.
llvm-svn: 118955
2010-11-13 00:35:48 +00:00
Dan Gohman
a4aa69cf2a
Revert r118917, which is implicated in the llvm-gcc-i386-linux-selfhost failure.
...
llvm-svn: 118954
2010-11-13 00:31:40 +00:00
Daniel Dunbar
b2436c4725
Update CMake.
...
llvm-svn: 118953
2010-11-13 00:28:32 +00:00
Daniel Dunbar
95f870ece4
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.
llvm-svn: 118952
2010-11-13 00:28:01 +00:00
Evan Cheng
a08372d4b4
Fix an obvious typo which inverted an immediate.
...
llvm-svn: 118951
2010-11-13 00:27:47 +00:00
Eric Christopher
ba758d0df4
This should be still failing, but is. Disable it with the
...
forget-me-stick for now.
llvm-svn: 118950
2010-11-13 00:25:06 +00:00
Wesley Peck
28f124b047
1. Adding missing immediate mode asm parser test cases.
...
2. Fixing improper immediate mode reverse subtract.
llvm-svn: 118948
2010-11-13 00:03:46 +00:00
Eric Christopher
f6c7694c29
Temporarily revert this.
...
llvm-svn: 118946
2010-11-12 23:50:48 +00:00
Evan Cheng
1f5296d832
For pre-v6t2 targets, only select MOVi32imm if the immediate can be handled with movi + orr.
...
llvm-svn: 118945
2010-11-12 23:46:13 +00:00
Wesley Peck
f11db049fe
Fixing improperly encoded reverse subtract instructions in MBlaze backend.
...
llvm-svn: 118943
2010-11-12 23:41:10 +00:00
Owen Anderson
053d9fb9b5
Revert r118939 while I work out why it broke some buildbots.
...
llvm-svn: 118942
2010-11-12 23:36:03 +00:00
Wesley Peck
be71f5db40
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
llvm-svn: 118941
2010-11-12 23:30:17 +00:00
Devang Patel
3dd764feda
Remove DW_AT_start_scope support. It is incomplete and superseeded by location entries support.
...
llvm-svn: 118940
2010-11-12 23:20:42 +00:00
Owen Anderson
f8192cf0cc
Attemt to provide correct encodings for Thumb2 binary operators.
...
llvm-svn: 118939
2010-11-12 23:18:11 +00:00
Evan Cheng
f3c75f91e9
Eliminate ARM::MOVi2pieces. Just use MOVi32imm and expand it to either movi+orr or movw+movt depending on the subtarget.
...
llvm-svn: 118938
2010-11-12 23:03:38 +00:00
Eric Christopher
b8ee838424
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.
llvm-svn: 118936
2010-11-12 22:52:32 +00:00