oota-llvm.git
14 years agogeneralize test.
Chris Lattner [Thu, 30 Sep 2010 17:15:42 +0000 (17:15 +0000)]
generalize test.

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

14 years agorename test.
Chris Lattner [Thu, 30 Sep 2010 17:14:55 +0000 (17:14 +0000)]
rename test.

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

14 years agomerge two tests.
Chris Lattner [Thu, 30 Sep 2010 17:14:30 +0000 (17:14 +0000)]
merge two tests.

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

14 years agopreemptively add the rest of the non-n fpstack instructions.
Chris Lattner [Thu, 30 Sep 2010 17:11:29 +0000 (17:11 +0000)]
preemptively add the rest of the non-n fpstack instructions.

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

14 years agomerge two tests.
Chris Lattner [Thu, 30 Sep 2010 17:05:37 +0000 (17:05 +0000)]
merge two tests.

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

14 years agofix this to not be completely broken.
Chris Lattner [Thu, 30 Sep 2010 17:04:59 +0000 (17:04 +0000)]
fix this to not be completely broken.

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

14 years agoupdate, unxfail, fix bogus encodings.
Chris Lattner [Thu, 30 Sep 2010 17:03:20 +0000 (17:03 +0000)]
update, unxfail, fix bogus encodings.

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

14 years agoupdate and unxfail
Chris Lattner [Thu, 30 Sep 2010 17:00:53 +0000 (17:00 +0000)]
update and unxfail

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

14 years agounxfail this by fixing syntactic differences.
Chris Lattner [Thu, 30 Sep 2010 16:59:28 +0000 (16:59 +0000)]
unxfail this by fixing syntactic differences.

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

14 years agoThe asm strings are never used at all, so just nuke 'em entirely.
Jim Grosbach [Thu, 30 Sep 2010 16:56:53 +0000 (16:56 +0000)]
The asm strings are never used at all, so just nuke 'em entirely.

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

14 years agoThis is the last major patch to implement support for the .loc directive
Kevin Enderby [Thu, 30 Sep 2010 16:52:03 +0000 (16:52 +0000)]
This is the last major patch to implement support for the .loc directive
and output the dwarf line number tables.  This contains the code to emit and
encode the dwarf line tables from the previously gathered information in the
MCLineSection objects.  This contains all the details to encode the line and
address deltas into the dwarf line table.

To do this an MCDwarfLineAddrFragment has been added.

Also this moves the interface code out of Mach-O streamer into
MCDwarf so it should be useable by other object file formats.

There is now one call to be made from an MCObjectStreamer
EmitInstruction() method:
   MCLineEntry::Make(this, getCurrentSection());
to create a line entry after each instruction is assembled.

And one call call to be made from an MCObjectStreamer Finish() method:
   MCDwarfFileTable::Emit(this, DwarfLineSection);
when getContext().hasDwarfFiles() is true and is passed a object file specific
MCSection where to emit the dwarf file and the line tables.

This appears to now be correct for 32-bit targets, at least x86.  But the
relocation entries for 64-bit Darwin needs some further work which is next
up to work on.  So for now the 64-bit Mach-O target does not output the
dwarf file and line tables.

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

14 years agoimplement support for finit, PR8258
Chris Lattner [Thu, 30 Sep 2010 16:42:53 +0000 (16:42 +0000)]
implement support for finit, PR8258

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

14 years agoChanges EvaluateAsAbsolute() to return the "current value" of the expression
Kevin Enderby [Thu, 30 Sep 2010 16:42:21 +0000 (16:42 +0000)]
Changes EvaluateAsAbsolute() to return the "current value" of the expression
if we are given a Layout object, even in cases when the value is not fixed.
This will be needed by the final patch for the dwarf .loc support to size a
new MCDwarf fragment needed to build and emit dwarf line number tables.

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

14 years agoadd support for fstcw, PR8259
Chris Lattner [Thu, 30 Sep 2010 16:39:29 +0000 (16:39 +0000)]
add support for fstcw, PR8259

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

14 years agoAdds getPointerSize() to the AsmBackend which will be needed by the final patch
Kevin Enderby [Thu, 30 Sep 2010 16:38:07 +0000 (16:38 +0000)]
Adds getPointerSize() to the AsmBackend which will be needed by the final patch
for the dwarf .loc support to emit dwarf line number tables.

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

14 years agocheckpoint notes
Chris Lattner [Thu, 30 Sep 2010 16:31:33 +0000 (16:31 +0000)]
checkpoint notes

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

14 years agoGrow BumpPtrAllocator's slab size dynamically if we allocated many slabs. This
Benjamin Kramer [Thu, 30 Sep 2010 16:18:28 +0000 (16:18 +0000)]
Grow BumpPtrAllocator's slab size dynamically if we allocated many slabs. This
reduces the amount of malloc calls and may reduce memory overhead.

Some numbers:
ASTContext stats, clang -cc1 -disable-free -fsyntax-only Cocoa_h.m
without dynamic growth                          |  with dynamic growth
Number of memory regions: 3158                  |  Number of memory regions: 432
Bytes used: 12333185                            |  Bytes used: 12333185
Bytes allocated: 12935168                       |  Bytes allocated: 12800000
Bytes wasted: 601983 (includes alignment, etc)  |  Bytes wasted: 466815 (includes alignment, etc)

ASTContext stats, clang -cc1 -disable-free -fsyntax-only on clang's ASTReader.cpp
without dynamic growth                          |  with dynamic growth
Number of memory regions: 10987                 |  Number of memory regions: 551
Bytes used: 42910356                            |  Bytes used: 42910356
Bytes allocated: 45002752                       |  Bytes allocated: 44711936
Bytes wasted: 2092396 (includes alignment, etc) |  Bytes wasted: 1801580 (includes alignment, etc)

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

14 years ago80 column fix
Jim Grosbach [Thu, 30 Sep 2010 15:25:22 +0000 (15:25 +0000)]
80 column fix

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

14 years agoFix two tiny issues (ARM does not need COFF) and comment sanity.
Jason W Kim [Thu, 30 Sep 2010 14:58:19 +0000 (14:58 +0000)]
Fix two tiny issues (ARM does not need COFF) and comment sanity.

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

14 years agoTighten up prototype verification of strchr and strrchr to avoid a crash in the very...
Benjamin Kramer [Thu, 30 Sep 2010 11:21:59 +0000 (11:21 +0000)]
Tighten up prototype verification of strchr and strrchr to avoid a crash in the very unlikely case that someone passes an integer > i64 to strchr.

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

14 years agoSilence a GCC warning about not handling all flags in this switch, we
Chandler Carruth [Thu, 30 Sep 2010 10:59:51 +0000 (10:59 +0000)]
Silence a GCC warning about not handling all flags in this switch, we
specifically assert on unexpected flags.

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

14 years agoMove logic of determining ELF entsize from the .s printer to initialization
Jan Wen Voung [Thu, 30 Sep 2010 05:59:22 +0000 (05:59 +0000)]
Move logic of determining ELF entsize from the .s printer to initialization
time. That way, the EntrySize field is initialized for other code paths,
namely, the .ll -> .o code path.

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

14 years agoAdd another test that now passes.
Rafael Espindola [Thu, 30 Sep 2010 04:22:07 +0000 (04:22 +0000)]
Add another test that now passes.

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

14 years agotrailing whitespace
Jim Grosbach [Thu, 30 Sep 2010 03:21:00 +0000 (03:21 +0000)]
trailing whitespace

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

14 years agoRemove misplaced ';'. Make buildbots happy, hopefully.
Jim Grosbach [Thu, 30 Sep 2010 03:20:34 +0000 (03:20 +0000)]
Remove misplaced ';'. Make buildbots happy, hopefully.

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

14 years agoCorrectly produce R_X86_64_32 or R_X86_64_32S.
Rafael Espindola [Thu, 30 Sep 2010 03:11:42 +0000 (03:11 +0000)]
Correctly produce R_X86_64_32 or R_X86_64_32S.

With this patch in

movq    $foo, foo(%rip)
foo:
.long   foo

We produce a R_X86_64_32S for the first relocation and R_X86_64_32 for the
second one.

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

14 years agoTiny patch for proof-of-concept cleanup of ARMAsmPrinter::EmitStartOfAsmFile()
Jason W Kim [Thu, 30 Sep 2010 02:45:56 +0000 (02:45 +0000)]
Tiny patch for proof-of-concept cleanup of ARMAsmPrinter::EmitStartOfAsmFile()
Small test for sanity check of resulting ARM .s file.
Tested against -r115129.

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

14 years agoHave ELFAsmParser.cpp use the already parsed "Size" (entry size) when
Jan Wen Voung [Thu, 30 Sep 2010 02:41:46 +0000 (02:41 +0000)]
Have ELFAsmParser.cpp use the already parsed "Size" (entry size) when
constructing a section. Test for a few cases also included.

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

14 years agoMake it possible for the MCObjectWriter to decide if a given fixup is fully
Rafael Espindola [Thu, 30 Sep 2010 02:22:20 +0000 (02:22 +0000)]
Make it possible for the MCObjectWriter to decide if a given fixup is fully
resolved or not. Different object files have different restrictions and
different native assemblers have different idiosyncrasies we want to emulate
for now.

Move the existing MachO logic to the new place and implement an ELF one that
gets fixups to globals right.

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

14 years agoGo ahead and jump!
Jim Grosbach [Thu, 30 Sep 2010 02:18:06 +0000 (02:18 +0000)]
Go ahead and jump!

Now that the MC lowering handles the expansion of the pseudos, kill the horrible
blobs of text.

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

14 years agoI added a new file ARMAsmBackend which stubs out in similar ways to
Jason W Kim [Thu, 30 Sep 2010 02:17:26 +0000 (02:17 +0000)]
I added a new file ARMAsmBackend which stubs out in similar ways to
the eqv X86 class.
For now, I split the ELFARMAsmBackend from the DarwinARMAsmBackend
(also mimicking X86)

Tested against -r115126

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

14 years agoNow that the pseudos that needed this are all custom lowered, we can go back
Jim Grosbach [Thu, 30 Sep 2010 02:02:22 +0000 (02:02 +0000)]
Now that the pseudos that needed this are all custom lowered, we can go back
to an empty PrintSpecial()

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

14 years agoNuke it from orbit. It's the only way to be sure.
Jim Grosbach [Thu, 30 Sep 2010 01:57:53 +0000 (01:57 +0000)]
Nuke it from orbit. It's the only way to be sure.

(Kill the dead non-MC asm printer for the ARM target.)

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

14 years agoLet a target specify whether it wants an assembly printer to be the MC version
Jim Grosbach [Thu, 30 Sep 2010 01:29:54 +0000 (01:29 +0000)]
Let a target specify whether it wants an assembly printer to be the MC version
or not. TableGen needs to generate the printInstruction() function as taking
an MCInstr* or a MachineInstr*, depending. Default to the old non-MC
version so that everything not yet using MC continues to just work without
fidding.

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

14 years agofix incorrect link!
Chris Lattner [Thu, 30 Sep 2010 01:12:09 +0000 (01:12 +0000)]
fix incorrect link!

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

14 years agoTest commit - Deleted some whitespace at the end of a line.
Jan Wen Voung [Thu, 30 Sep 2010 01:09:20 +0000 (01:09 +0000)]
Test commit - Deleted some whitespace at the end of a line.

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

14 years agoARM instruction itinerary fixes:
Evan Cheng [Thu, 30 Sep 2010 01:08:25 +0000 (01:08 +0000)]
ARM instruction itinerary fixes:
1. Cortex-a9 8-bit and 16-bit loads / stores AGU cycles are 1 cycle longer than 32-bit ones.
2. Cortex-a9 is out-of-order so model all read cycles as cycle 1.
3. Lots of other random fixes for A8 and A9.

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

14 years agoAdd constant folding for strspn and strcspn to SimplifyLibCalls.
Benjamin Kramer [Thu, 30 Sep 2010 00:58:35 +0000 (00:58 +0000)]
Add constant folding for strspn and strcspn to SimplifyLibCalls.

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

14 years agoRevert r114320(move file = copy + delete on Win32). r115040 is a better solution...
Francois Pichet [Thu, 30 Sep 2010 00:44:58 +0000 (00:44 +0000)]
Revert r114320(move file = copy + delete on Win32). r115040 is a better solution for the Win32 ACCESS_DENIED lit error.

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

14 years agoadd a bunch of entries for external projects.
Chris Lattner [Thu, 30 Sep 2010 00:34:43 +0000 (00:34 +0000)]
add a bunch of entries for external projects.

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

14 years agoAdd strpbrk folding to SimplifyLibCalls.
Benjamin Kramer [Wed, 29 Sep 2010 23:52:12 +0000 (23:52 +0000)]
Add strpbrk folding to SimplifyLibCalls.

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

14 years agoSilence compiler warning.
Nick Lewycky [Wed, 29 Sep 2010 23:32:20 +0000 (23:32 +0000)]
Silence compiler warning.

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

14 years agoRevert r115099 (adding early jump threading). It's not clear if the benefits are...
Owen Anderson [Wed, 29 Sep 2010 23:31:09 +0000 (23:31 +0000)]
Revert r115099 (adding early jump threading).  It's not clear if the benefits are worth the compile time cost.

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

14 years agoRefactor arm fast isel libcall handling so that pieces can be used
Eric Christopher [Wed, 29 Sep 2010 23:11:09 +0000 (23:11 +0000)]
Refactor arm fast isel libcall handling so that pieces can be used
for generic call handling.

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

14 years agoLet FE mark a variable as artificial variable.
Devang Patel [Wed, 29 Sep 2010 23:07:21 +0000 (23:07 +0000)]
Let FE mark a variable as artificial variable.

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

14 years agoNoticed by inspection when looking for other cmov bits.
Eric Christopher [Wed, 29 Sep 2010 23:00:29 +0000 (23:00 +0000)]
Noticed by inspection when looking for other cmov bits.

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

14 years agoEarly CFG simplification can fold conditionals down to selects, which is often a...
Owen Anderson [Wed, 29 Sep 2010 22:57:02 +0000 (22:57 +0000)]
Early CFG simplification can fold conditionals down to selects, which is often a good thing, but it can also
hide jump threading opportunities by turning control flow into data flow.  Run an early JumpThreading pass
(adds approximately an additional 1% to optimization time on SPEC), allowing it to get a shot at these cases
first.  Fixes <rdar://problem/8447345>.

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

14 years agoModel Cortex-a9 load to SUB, RSB, ADD, ADC, SBC, RSC, CMN, MVN, or CMP
Evan Cheng [Wed, 29 Sep 2010 22:42:35 +0000 (22:42 +0000)]
Model Cortex-a9 load to SUB, RSB, ADD, ADC, SBC, RSC, CMN, MVN, or CMP
pipeline forwarding path.

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

14 years agoSilence msvc warnings.
Benjamin Kramer [Wed, 29 Sep 2010 22:38:50 +0000 (22:38 +0000)]
Silence msvc warnings.

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

14 years agotrailing whitespace
Jim Grosbach [Wed, 29 Sep 2010 22:32:50 +0000 (22:32 +0000)]
trailing whitespace

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

14 years agoSimplify the loop in StrChrOptimizer. FileCheckize test.
Benjamin Kramer [Wed, 29 Sep 2010 22:29:12 +0000 (22:29 +0000)]
Simplify the loop in StrChrOptimizer. FileCheckize test.

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

14 years agoAdd a convenience variable so I'm not chasing all over looking for
Eric Christopher [Wed, 29 Sep 2010 22:24:45 +0000 (22:24 +0000)]
Add a convenience variable so I'm not chasing all over looking for
a context.

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

14 years agoTeach SimplifyLibCalls how to optimize strrchr.
Benjamin Kramer [Wed, 29 Sep 2010 21:50:51 +0000 (21:50 +0000)]
Teach SimplifyLibCalls how to optimize strrchr.

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

14 years agoAdd support to let FE encode method access specifier.
Devang Patel [Wed, 29 Sep 2010 21:44:16 +0000 (21:44 +0000)]
Add support to let FE encode method access specifier.

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

14 years agoGeneralize DISubprogram element to encode various flags instead of just one boolean...
Devang Patel [Wed, 29 Sep 2010 21:04:46 +0000 (21:04 +0000)]
Generalize DISubprogram element to encode various flags instead of just one boolean for isArtificial.
This is a backword compatible change.

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

14 years agoUnreachableBlockElim could incorrectly return false when it had not modified the...
Owen Anderson [Wed, 29 Sep 2010 20:57:19 +0000 (20:57 +0000)]
UnreachableBlockElim could incorrectly return false when it had not modified the CFG, but HAD modified some PHI nodes.  Fixes PR8174.

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

14 years agoFix PR8247: JumpThreading can cause a block to become unreachable while still having...
Owen Anderson [Wed, 29 Sep 2010 20:34:41 +0000 (20:34 +0000)]
Fix PR8247: JumpThreading can cause a block to become unreachable while still having predecessor, if it is part of a self-loop.
Because of this, we cannot use the Simplify* APIs, as they can assert-fail on unreachable code.  Since it's not easy to determine
if a given threading will cause a block to become unreachable, simply defer simplifying simplification to later InstCombine and/or
DCE passes.

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

14 years agoConvert a bunch of uses of 'bytecode' into 'bitcode'. This
Duncan Sands [Wed, 29 Sep 2010 20:09:55 +0000 (20:09 +0000)]
Convert a bunch of uses of 'bytecode' into 'bitcode'.  This
is not everything, but the remaining cases are less trivial.

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

14 years agoRemove PointerTracking from cmakelists …
Benjamin Kramer [Wed, 29 Sep 2010 19:39:50 +0000 (19:39 +0000)]
Remove PointerTracking from cmakelists …

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

14 years agoGetSourceVersion: Strip off svninfo extra markers, which aren't really part of the...
Daniel Dunbar [Wed, 29 Sep 2010 19:30:17 +0000 (19:30 +0000)]
GetSourceVersion: Strip off svninfo extra markers, which aren't really part of the version.

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

14 years agoRemove PointerTracking tests.
Benjamin Kramer [Wed, 29 Sep 2010 19:20:35 +0000 (19:20 +0000)]
Remove PointerTracking tests.

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

14 years agoAssign DW_ACCESS_public accessibility attribute to members by default.
Devang Patel [Wed, 29 Sep 2010 19:08:08 +0000 (19:08 +0000)]
Assign DW_ACCESS_public accessibility attribute to members by default.

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

14 years agoAdd specializations of addrmode2 that allow differentiating those forms
Jim Grosbach [Wed, 29 Sep 2010 19:03:54 +0000 (19:03 +0000)]
Add specializations of addrmode2 that allow differentiating those forms
which require the use of the shifter-operand. This will be used to split
the ldr/str instructions such that those versions needing the shifter operand
can get a different scheduling itenerary, as in some cases, the use of the
shifter can cause different scheduling than the simpler forms.

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

14 years agoAdd parens to fix GCC warning:
Nick Lewycky [Wed, 29 Sep 2010 18:56:57 +0000 (18:56 +0000)]
Add parens to fix GCC warning:
  lib/Target/X86/X86MCCodeEmitter.cpp: 190: error: suggest parentheses around '&&' within '||'

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

14 years agoremove PointerTracking from mainline, Edwin is going to move it out to ClamAV
Chris Lattner [Wed, 29 Sep 2010 18:43:27 +0000 (18:43 +0000)]
remove PointerTracking from mainline, Edwin is going to move it out to ClamAV
for LLVM 2.9

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

14 years agoimplement rdar://8491845 - Gas supports commuted forms of non-commutable instructions.
Chris Lattner [Wed, 29 Sep 2010 18:39:16 +0000 (18:39 +0000)]
implement rdar://8491845 - Gas supports commuted forms of non-commutable instructions.

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

14 years agoRevert r114919, which caused some serious regressions on ARM.
Owen Anderson [Wed, 29 Sep 2010 18:05:19 +0000 (18:05 +0000)]
Revert r114919, which caused some serious regressions on ARM.

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

14 years agoutils: Add GetRepositoryPath script, patch by Jonathan Mulder!
Daniel Dunbar [Wed, 29 Sep 2010 17:57:01 +0000 (17:57 +0000)]
utils: Add GetRepositoryPath script, patch by Jonathan Mulder!
 - Also, fix indention in GetSourceVersion while in the area.

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

14 years agoIncrease ARM APCS preferred alignment for i64 and f64 from 32 bits to 64 bits.
Bob Wilson [Wed, 29 Sep 2010 17:54:10 +0000 (17:54 +0000)]
Increase ARM APCS preferred alignment for i64 and f64 from 32 bits to 64 bits.
LDM/STM instructions can run one cycle faster on some ARM processors if the
memory address is 64-bit aligned.  Radar 8489376.

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

14 years agoUndoing test commit blank space.
Jason W Kim [Wed, 29 Sep 2010 17:39:29 +0000 (17:39 +0000)]
Undoing test commit blank space.

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

14 years agoTest commit -
Jason W Kim [Wed, 29 Sep 2010 17:33:42 +0000 (17:33 +0000)]
Test commit -

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

14 years agoAdd braces for legibility.
Jim Grosbach [Wed, 29 Sep 2010 17:32:29 +0000 (17:32 +0000)]
Add braces for legibility.

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

14 years agolit: Fix a subtle resource usage bug when executing tests using the internal
Daniel Dunbar [Wed, 29 Sep 2010 15:59:37 +0000 (15:59 +0000)]
lit: Fix a subtle resource usage bug when executing tests using the internal
shell runner.

We would inadvertently end up holding on to handles to the temporary files
longer than we should have been. On Win32, where open handles lock some file
operations, this caused problems in tests which would try to move temporary
files around (as Clang does by default now).

Many thanks to Francois Pichet for the excellent detective work on this.

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

14 years agoExport LLVM_ALL_TARGETS in LLVM.cmake. It is used by LLVMConfig.
Oscar Fuentes [Wed, 29 Sep 2010 15:28:55 +0000 (15:28 +0000)]
Export LLVM_ALL_TARGETS in LLVM.cmake. It is used by LLVMConfig.

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

14 years agoOne Printer to rule them all, One Printer to find them,
Jim Grosbach [Wed, 29 Sep 2010 15:23:40 +0000 (15:23 +0000)]
One Printer to rule them all, One Printer to find them,
One Printer to lower them all and in the back end bind them.

(Remove option to use the old non-MC asm printer.)

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

14 years agoMove "local commons" to the end of .bss to match the gnu as behavior.
Rafael Espindola [Wed, 29 Sep 2010 14:52:01 +0000 (14:52 +0000)]
Move "local commons" to the end of .bss to match the gnu as behavior.

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

14 years agoAdd a test that I forgot to add with a previous commit.
Rafael Espindola [Wed, 29 Sep 2010 14:40:49 +0000 (14:40 +0000)]
Add a test that I forgot to add with a previous commit.

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

14 years agodo not compare actual branch labels; this may fix llvm-gcc-x86_64-darwin10-cross...
Gabor Greif [Wed, 29 Sep 2010 10:45:43 +0000 (10:45 +0000)]
do not compare actual branch labels; this may fix llvm-gcc-x86_64-darwin10-cross-mingw32 buildbot too

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

14 years agoimprove heuristics to find the 'and' corresponding to 'tst' to also catch opportuniti...
Gabor Greif [Wed, 29 Sep 2010 10:12:08 +0000 (10:12 +0000)]
improve heuristics to find the 'and' corresponding to 'tst' to also catch opportunities on thumb2
added some doxygen on the way

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

14 years agoadd some random notes.
Chris Lattner [Wed, 29 Sep 2010 07:25:03 +0000 (07:25 +0000)]
add some random notes.

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

14 years agomerge all the llvm-gcc pieces together. Recommend that people try dragonegg if they...
Chris Lattner [Wed, 29 Sep 2010 05:34:42 +0000 (05:34 +0000)]
merge all the llvm-gcc pieces together.  Recommend that people try dragonegg if they care about fortran performance.

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

14 years agoprepare for new content.
Chris Lattner [Wed, 29 Sep 2010 05:30:03 +0000 (05:30 +0000)]
prepare for new content.

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

14 years agofix rdar://8490728 - llvm-mc rejects gpr64 form of 'movmskpd'
Chris Lattner [Wed, 29 Sep 2010 05:05:03 +0000 (05:05 +0000)]
fix rdar://8490728 - llvm-mc rejects gpr64 form of 'movmskpd'

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

14 years agoadd assembler support for the cvtsd2sil/cvtsd2siq mnemonics, rdar://8456382
Chris Lattner [Wed, 29 Sep 2010 04:55:40 +0000 (04:55 +0000)]
add assembler support for the cvtsd2sil/cvtsd2siq mnemonics, rdar://8456382

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

14 years agoMC-COFF: Fix test. IMAGE_SYM_CLASS_LABEL should never have been emitted.
Michael J. Spencer [Wed, 29 Sep 2010 03:59:25 +0000 (03:59 +0000)]
MC-COFF: Fix test. IMAGE_SYM_CLASS_LABEL should never have been emitted.

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

14 years agomake the x86 mccode emitter emit the 0x67 and 0x66 prefix bytes in the same
Chris Lattner [Wed, 29 Sep 2010 03:43:43 +0000 (03:43 +0000)]
make the x86 mccode emitter emit the 0x67 and 0x66 prefix bytes in the same
order as cctools for diffability.

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

14 years agoimplement support for 32-bit address operands in 64-bit mode, which
Chris Lattner [Wed, 29 Sep 2010 03:33:25 +0000 (03:33 +0000)]
implement support for 32-bit address operands in 64-bit mode, which
are defined to emit the 0x67 prefix byte.  rdar://8482675

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

14 years agoMC-COFF: Fix symbol storage class for globals
Michael J. Spencer [Wed, 29 Sep 2010 03:13:41 +0000 (03:13 +0000)]
MC-COFF: Fix symbol storage class for globals

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

14 years agoadd basic avx support to the disassembler, also teach it about ssmem/sdmem
Chris Lattner [Wed, 29 Sep 2010 02:57:56 +0000 (02:57 +0000)]
add basic avx support to the disassembler, also teach it about ssmem/sdmem
operands.

With this done, we can remove the _Int suffixes from the round instructions
without the disassembler blowing up.  This allows the assembler to support
them, implementing rdar://8456376 - llvm-mc rejects 'roundss'

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

14 years agoadd asmparser support for cvttpd2dq by removing some Int_ prefixes.
Chris Lattner [Wed, 29 Sep 2010 02:36:32 +0000 (02:36 +0000)]
add asmparser support for cvttpd2dq by removing some Int_ prefixes.

Clean up cvttps2dq by removing some redundant implementations of the
same instruction.  rdar://8456382

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

14 years agoimplement rdar://8456382 - cvtsd2si support, by removing some Int_ prefixes.
Chris Lattner [Wed, 29 Sep 2010 02:24:57 +0000 (02:24 +0000)]
implement rdar://8456382 - cvtsd2si support, by removing some Int_ prefixes.

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

14 years agoimplement rdar://8456378 and PR7557 - support for the fstsw,
Chris Lattner [Wed, 29 Sep 2010 01:50:45 +0000 (01:50 +0000)]
implement rdar://8456378 and PR7557 - support for the fstsw,
an instruction that requires a WHOLE NEW wonderful kind of alias.

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

14 years agochange the protocol TargetAsmPArser::MatchInstruction method to take an
Chris Lattner [Wed, 29 Sep 2010 01:42:58 +0000 (01:42 +0000)]
change the protocol TargetAsmPArser::MatchInstruction method to take an
MCStreamer to emit into instead of an MCInst to fill in.  This allows the
matcher extra flexibility and is more convenient.

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

14 years agoRework comparison handling to set a register on true/false. This avoids
Eric Christopher [Wed, 29 Sep 2010 01:14:47 +0000 (01:14 +0000)]
Rework comparison handling to set a register on true/false. This avoids
problems with phi-nodes in blocks that have hard and not virtual registers.

Accordingly update branch handling to compensate.

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

14 years agoRemove unnecessary set ahead of time.
Eric Christopher [Wed, 29 Sep 2010 00:50:57 +0000 (00:50 +0000)]
Remove unnecessary set ahead of time.

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

14 years agoSeparate itinerary classes for mvn from mov; for tst / teq from cmp / cmn.
Evan Cheng [Wed, 29 Sep 2010 00:49:25 +0000 (00:49 +0000)]
Separate itinerary classes for mvn from mov; for tst / teq from cmp / cmn.

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

14 years agoRemove assert, add comment.
Eric Christopher [Wed, 29 Sep 2010 00:49:09 +0000 (00:49 +0000)]
Remove assert, add comment.

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

14 years agoAssign bitwise binary instructions different itinerary classes from ALU instructions...
Evan Cheng [Wed, 29 Sep 2010 00:27:46 +0000 (00:27 +0000)]
Assign bitwise binary instructions different itinerary classes from ALU instructions such as add / sub.

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

14 years agoAdd support to model pipeline bypass / forwarding.
Evan Cheng [Tue, 28 Sep 2010 23:50:49 +0000 (23:50 +0000)]
Add support to model pipeline bypass / forwarding.

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

14 years ago And remove r114997's test.
Bill Wendling [Tue, 28 Sep 2010 23:24:18 +0000 (23:24 +0000)]
 And remove r114997's test.

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