Jim Grosbach
7ebc863c15
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
2010-09-30 02:18:06 +00:00
Jason W Kim
d4d4f4f488
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
2010-09-30 02:17:26 +00:00
Jim Grosbach
a4e97de71d
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
2010-09-30 02:02:22 +00:00
Jim Grosbach
2317e40539
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
2010-09-30 01:57:53 +00:00
Jim Grosbach
ca96a86165
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
2010-09-30 01:29:54 +00:00
Chris Lattner
97fe645bc2
fix incorrect link!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115124 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-30 01:12:09 +00:00
Jan Wen Voung
a854a4bbc8
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
2010-09-30 01:09:20 +00:00
Evan Cheng
0e55fd61ae
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
2010-09-30 01:08:25 +00:00
Benjamin Kramer
9510a2538b
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
2010-09-30 00:58:35 +00:00
Francois Pichet
3eddd98be3
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
2010-09-30 00:44:58 +00:00
Chris Lattner
2e38c7f5e6
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
2010-09-30 00:34:43 +00:00
Benjamin Kramer
05f585e28b
Add strpbrk folding to SimplifyLibCalls.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115111 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 23:52:12 +00:00
Nick Lewycky
28815c4b64
Silence compiler warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115107 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 23:32:20 +00:00
Owen Anderson
fe45b104b3
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
2010-09-29 23:31:09 +00:00
Eric Christopher
a9a7a1a9a5
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
2010-09-29 23:11:09 +00:00
Devang Patel
3cf763dc7a
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
2010-09-29 23:07:21 +00:00
Eric Christopher
e487b017e9
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
2010-09-29 23:00:29 +00:00
Owen Anderson
235859d66c
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
2010-09-29 22:57:02 +00:00
Evan Cheng
3881cb7a5d
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
2010-09-29 22:42:35 +00:00
Benjamin Kramer
6406d004c9
Silence msvc warnings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115097 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 22:38:50 +00:00
Jim Grosbach
9255b8d349
trailing whitespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115096 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 22:32:50 +00:00
Benjamin Kramer
e260990fa1
Simplify the loop in StrChrOptimizer. FileCheckize test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115095 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 22:29:12 +00:00
Eric Christopher
8cf6c60710
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
2010-09-29 22:24:45 +00:00
Benjamin Kramer
06f25cfb33
Teach SimplifyLibCalls how to optimize strrchr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115091 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 21:50:51 +00:00
Devang Patel
1a30123b60
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
2010-09-29 21:44:16 +00:00
Devang Patel
9dd2b47d44
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
2010-09-29 21:04:46 +00:00
Owen Anderson
b0725316cd
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
2010-09-29 20:57:19 +00:00
Owen Anderson
36c4debc94
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
2010-09-29 20:34:41 +00:00
Duncan Sands
18d52f2fb5
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
2010-09-29 20:09:55 +00:00
Benjamin Kramer
f513ab8b77
Remove PointerTracking from cmakelists …
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115076 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 19:39:50 +00:00
Daniel Dunbar
6a2e912690
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
2010-09-29 19:30:17 +00:00
Benjamin Kramer
3e45b77612
Remove PointerTracking tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115072 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 19:20:35 +00:00
Devang Patel
2a3616012c
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
2010-09-29 19:08:08 +00:00
Jim Grosbach
828916203a
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
2010-09-29 19:03:54 +00:00
Nick Lewycky
8892b033e4
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
2010-09-29 18:56:57 +00:00
Chris Lattner
3c99c769eb
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
2010-09-29 18:43:27 +00:00
Chris Lattner
a25f933396
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
2010-09-29 18:39:16 +00:00
Owen Anderson
69daca59ff
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
2010-09-29 18:05:19 +00:00
Daniel Dunbar
1619beb4e2
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
2010-09-29 17:57:01 +00:00
Bob Wilson
7122ba7efb
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
2010-09-29 17:54:10 +00:00
Jason W Kim
6cded231a3
Undoing test commit blank space.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115045 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 17:39:29 +00:00
Jason W Kim
ae91457996
Test commit -
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115044 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 17:33:42 +00:00
Jim Grosbach
be91232900
Add braces for legibility.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115043 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 17:32:29 +00:00
Daniel Dunbar
69c4cbe9e8
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
2010-09-29 15:59:37 +00:00
Oscar Fuentes
38e0b4689c
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
2010-09-29 15:28:55 +00:00
Jim Grosbach
b454cdaebc
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
2010-09-29 15:23:40 +00:00
Rafael Espindola
9e3922e949
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
2010-09-29 14:52:01 +00:00
Rafael Espindola
9804db1353
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
2010-09-29 14:40:49 +00:00
Gabor Greif
1f01d45ee0
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
2010-09-29 10:45:43 +00:00
Gabor Greif
05642a3eba
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
2010-09-29 10:12:08 +00:00