oota-llvm.git
13 years agoDisable RTTI on Windows.
Francois Pichet [Sat, 4 Dec 2010 09:42:30 +0000 (09:42 +0000)]
Disable RTTI on Windows.
Total size of bin\Release on disk goes from 83.6 MB to 81.8MB. (~2% saving)

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

13 years agoThe Thumb tADDrSPi instruction is not valid when the destination is SP.
Bob Wilson [Sat, 4 Dec 2010 04:40:19 +0000 (04:40 +0000)]
The Thumb tADDrSPi instruction is not valid when the destination is SP.
Check for that and try narrowing it to tADDspi instead.  Radar 8724703.

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

13 years agoRemove trailing whitespace.
Bob Wilson [Sat, 4 Dec 2010 04:40:15 +0000 (04:40 +0000)]
Remove trailing whitespace.

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

13 years agoThere are two reasons why we might want to use
Rafael Espindola [Sat, 4 Dec 2010 03:21:47 +0000 (03:21 +0000)]
There are two reasons why we might want to use

foo = a - b
.long foo
instead of just
.long a - b

First, on darwin9 64 bits the assembler produces the wrong result. Second,
if "a" is the end of the section all darwin assemblers (9, 10 and mc) will not
consider a - b to be a constant but will if the dummy foo is created.

Split how we handle these cases. The first one is something MC should take care
of. The second one has to be handled by the caller.

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

13 years agoUnittests/Support/PathV2: Add FileSystem tests.
Michael J. Spencer [Sat, 4 Dec 2010 03:18:42 +0000 (03:18 +0000)]
Unittests/Support/PathV2: Add FileSystem tests.

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

13 years agoSupport/FileSystem: Add status implementation.
Michael J. Spencer [Sat, 4 Dec 2010 00:32:40 +0000 (00:32 +0000)]
Support/FileSystem: Add status implementation.

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

13 years agoSupport/SystemError: Make error_category and error_code auto-bool-conversion-safe.
Michael J. Spencer [Sat, 4 Dec 2010 00:32:24 +0000 (00:32 +0000)]
Support/SystemError: Make error_category and error_code auto-bool-conversion-safe.

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

13 years agoSupport/Windows/FileSystem: Fix MinGW warnings.
Michael J. Spencer [Sat, 4 Dec 2010 00:32:14 +0000 (00:32 +0000)]
Support/Windows/FileSystem: Fix MinGW warnings.

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

13 years agoSupport/FileSystem: Add file_size implementation.
Michael J. Spencer [Sat, 4 Dec 2010 00:31:48 +0000 (00:31 +0000)]
Support/FileSystem: Add file_size implementation.

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

13 years agoNext step: Only pad debug_line when the target is darwin. Add a FIXME to avoid
Rafael Espindola [Sat, 4 Dec 2010 00:31:13 +0000 (00:31 +0000)]
Next step: Only pad debug_line when the target is darwin. Add a FIXME to avoid
doing that if the target is darwin10 or newer.

This fixes
*) Direct object emission was producing objects without the workaround on
   darwin9.
*) Assembly printing was producing objects with the workaround on linux.

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

13 years agoEncode condition code for Thumb1 conditional branch instruction.
Jim Grosbach [Sat, 4 Dec 2010 00:20:40 +0000 (00:20 +0000)]
Encode condition code for Thumb1 conditional branch instruction.

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

13 years agoDo not try luck by using given name to create temporary file. In parallel builds...
Devang Patel [Fri, 3 Dec 2010 23:58:31 +0000 (23:58 +0000)]
Do not try luck by using given name to create temporary file. In parallel builds it may not work.

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

13 years agoCorrectly size-reduce the t2CMPzrr instruction to tCMPzr when possible.
Jim Grosbach [Fri, 3 Dec 2010 23:54:18 +0000 (23:54 +0000)]
Correctly size-reduce the t2CMPzrr instruction to tCMPzr when possible.
tCMPzhir has undefined behavior when both source registers are low registers.
rdar://8728577

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

13 years agoUse correct variable names to match the patterns.
Bill Wendling [Fri, 3 Dec 2010 23:44:24 +0000 (23:44 +0000)]
Use correct variable names to match the patterns.

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

13 years agoAlso inore '()' while creating mdnode name from ObjC symbol name.
Jakob Stoklund Olesen [Fri, 3 Dec 2010 23:40:45 +0000 (23:40 +0000)]
Also inore '()' while creating mdnode name from ObjC symbol name.

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

13 years agoFirst step in fixing MC. Make it clear that we are avoiding a bug in the
Rafael Espindola [Fri, 3 Dec 2010 23:36:59 +0000 (23:36 +0000)]
First step in fixing MC. Make it clear that we are avoiding a bug in the
darwin9 linker, what is needed to avoid it and where to get more information.

Also make the workaround simpler. Just the regular end_sequence we normally
create is more than 4 bytes.

Tested by building cctools and ld64 from darwin9 on a darwin10 system and using
those. I checked that I was able to reproduce the bootstrap failure when
the the workaround was disabled.

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

13 years agoIgnore '+' while creating mdnode name from ObjC symbol name.
Devang Patel [Fri, 3 Dec 2010 23:29:30 +0000 (23:29 +0000)]
Ignore '+' while creating mdnode name from ObjC symbol name.

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

13 years agoMatch pattern operand names to expected encoding field names. This corrects the
Jim Grosbach [Fri, 3 Dec 2010 23:21:25 +0000 (23:21 +0000)]
Match pattern operand names to expected encoding field names. This corrects the
operand encoding ordering of the instruction.

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

13 years agoRemove incorrect BL target encoding (it's similar to, but not the same as the
Jim Grosbach [Fri, 3 Dec 2010 22:33:42 +0000 (22:33 +0000)]
Remove incorrect BL target encoding (it's similar to, but not the same as the
ARM instruction). Add encoding of bits 13 and 11.

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

13 years agoEncode the 32-bit wide Thumb (and Thumb2) instructions with the high order
Jim Grosbach [Fri, 3 Dec 2010 22:31:40 +0000 (22:31 +0000)]
Encode the 32-bit wide Thumb (and Thumb2) instructions with the high order
halfword being emitted to the stream first. rdar://8728174

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

13 years agoRevert this change since it breaks a couple of the AVX tests.
Nate Begeman [Fri, 3 Dec 2010 22:29:15 +0000 (22:29 +0000)]
Revert this change since it breaks a couple of the AVX tests.
I'm unclear if the tests are actually correct or not, but reverting for now.

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

13 years agoRename virtRegMap to avoid confusion with the VirtRegMap that it isn't.
Jakob Stoklund Olesen [Fri, 3 Dec 2010 22:25:09 +0000 (22:25 +0000)]
Rename virtRegMap to avoid confusion with the VirtRegMap that it isn't.

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

13 years agoCoalesce debug locations when possible, causing less DBG_VALUE instructions to
Jakob Stoklund Olesen [Fri, 3 Dec 2010 22:25:07 +0000 (22:25 +0000)]
Coalesce debug locations when possible, causing less DBG_VALUE instructions to
be emitted.

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

13 years agoScalar f32/f64 are also subregs of ymm regs
Nate Begeman [Fri, 3 Dec 2010 21:54:39 +0000 (21:54 +0000)]
Scalar f32/f64 are also subregs of ymm regs

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

13 years agoRemove SSE1-4 disable when AVX is enabled. While this may be useful for development,
Nate Begeman [Fri, 3 Dec 2010 21:54:14 +0000 (21:54 +0000)]
Remove SSE1-4 disable when AVX is enabled.  While this may be useful for development,
it completely breaks scalar fp in xmm regs when AVX is enabled.

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

13 years agoEmit DBG_VALUE instructions from LiveDebugVariables.
Jakob Stoklund Olesen [Fri, 3 Dec 2010 21:47:10 +0000 (21:47 +0000)]
Emit DBG_VALUE instructions from LiveDebugVariables.

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

13 years agoAlso update virtRegMap when renaming virtual registers.
Jakob Stoklund Olesen [Fri, 3 Dec 2010 21:47:08 +0000 (21:47 +0000)]
Also update virtRegMap when renaming virtual registers.

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

13 years agoWhen using the 'push' mnemonic for Thumb2 stmdb, be explicit when it's the
Jim Grosbach [Fri, 3 Dec 2010 20:33:01 +0000 (20:33 +0000)]
When using the 'push' mnemonic for Thumb2 stmdb, be explicit when it's the
32-bit wide version by adding the .w suffix.

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

13 years agoRemove unused variable.
Benjamin Kramer [Fri, 3 Dec 2010 19:55:37 +0000 (19:55 +0000)]
Remove unused variable.

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

13 years agoReduce t2 ldr/str instructions to the correct t1 versions when there's an
Jim Grosbach [Fri, 3 Dec 2010 19:47:11 +0000 (19:47 +0000)]
Reduce t2 ldr/str instructions to the correct t1 versions when there's an
immediate offset.

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

13 years agofix ARM::fixup_arm_branch, cleanup, and share more code between ELF and Darwin
Jason W Kim [Fri, 3 Dec 2010 19:40:23 +0000 (19:40 +0000)]
fix ARM::fixup_arm_branch, cleanup, and share more code between ELF and Darwin

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

13 years agoNo need to declare EncoderMethod property anymore; just assign to it.
Jim Grosbach [Fri, 3 Dec 2010 19:31:00 +0000 (19:31 +0000)]
No need to declare EncoderMethod property anymore; just assign to it.

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

13 years agoDelete the StrongPHIElimination pass, leaving only a shell.
Jakob Stoklund Olesen [Fri, 3 Dec 2010 19:21:53 +0000 (19:21 +0000)]
Delete the StrongPHIElimination pass, leaving only a shell.

The StrongPHIElimination pass did not work, and nobody has worked on it for two
years.

A rewrite is underway, so I am leaving this shell pass instead of deleting it
completely.

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

13 years agoAdd IntervalMap::iterator::set{Start,Stop,Value} methods that allow limited
Jakob Stoklund Olesen [Fri, 3 Dec 2010 19:02:00 +0000 (19:02 +0000)]
Add IntervalMap::iterator::set{Start,Stop,Value} methods that allow limited
editing of the current interval.

These methods may cause coalescing, there are corresponding set*Unchecked
methods for editing without coalescing. The non-coalescing methods are useful
for applying monotonic transforms to all keys or values in a map without
accidentally coalescing transformed and untransformed intervals.

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

13 years agoSupport/FileSystem: Add equivalent implementation.
Michael J. Spencer [Fri, 3 Dec 2010 18:49:13 +0000 (18:49 +0000)]
Support/FileSystem: Add equivalent implementation.

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

13 years agoSupport/FileSystem: Fix MinGW build. It doesn't have _chsize_s.
Michael J. Spencer [Fri, 3 Dec 2010 18:48:56 +0000 (18:48 +0000)]
Support/FileSystem: Fix MinGW build. It doesn't have _chsize_s.

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

13 years agoAdd FIXMEs.
Jim Grosbach [Fri, 3 Dec 2010 18:37:17 +0000 (18:37 +0000)]
Add FIXMEs.

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

13 years agoSize reduction for tPUSH come from t2STMDB_UPD, not t2STMIA_UPD.
Jim Grosbach [Fri, 3 Dec 2010 18:31:03 +0000 (18:31 +0000)]
Size reduction for tPUSH come from t2STMDB_UPD, not t2STMIA_UPD.

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

13 years agoAnd I really hate line endings.
Michael J. Spencer [Fri, 3 Dec 2010 18:04:11 +0000 (18:04 +0000)]
And I really hate line endings.

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

13 years agoSupport/Windows/FileSystem: Fix MinGW build.
Michael J. Spencer [Fri, 3 Dec 2010 18:03:28 +0000 (18:03 +0000)]
Support/Windows/FileSystem: Fix MinGW build.

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

13 years agoSupport/FileSystem: Add resize_file implementation.
Michael J. Spencer [Fri, 3 Dec 2010 17:54:07 +0000 (17:54 +0000)]
Support/FileSystem: Add resize_file implementation.

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

13 years agoSupport/FileSystem: Add rename implementation.
Michael J. Spencer [Fri, 3 Dec 2010 17:53:55 +0000 (17:53 +0000)]
Support/FileSystem: Add rename implementation.

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

13 years agoSupport/FileSystem: Add remove implementation.
Michael J. Spencer [Fri, 3 Dec 2010 17:53:43 +0000 (17:53 +0000)]
Support/FileSystem: Add remove implementation.

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

13 years agoFix line endings.
Michael J. Spencer [Fri, 3 Dec 2010 17:53:23 +0000 (17:53 +0000)]
Fix line endings.

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

13 years agoGet Neon intrinsic names from the new "Name" field in the tblgen records
Bob Wilson [Fri, 3 Dec 2010 17:19:39 +0000 (17:19 +0000)]
Get Neon intrinsic names from the new "Name" field in the tblgen records
instead of just converting the record name to lowercase.

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

13 years agoFix paste-o in ExtractValueInst::getIndexedType() comments.
Frits van Bommel [Fri, 3 Dec 2010 14:54:33 +0000 (14:54 +0000)]
Fix paste-o in ExtractValueInst::getIndexedType() comments.

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

13 years agounittests/Support/PathV2: remove(3) requires a terminated string.
Benjamin Kramer [Fri, 3 Dec 2010 12:33:32 +0000 (12:33 +0000)]
unittests/Support/PathV2: remove(3) requires a terminated string.

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

13 years agoApparently OS X 10.4 doesn't have __crashreporter_info__.
Eric Christopher [Fri, 3 Dec 2010 07:45:22 +0000 (07:45 +0000)]
Apparently OS X 10.4 doesn't have __crashreporter_info__.

Try to fix building on the wayback machine.

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

13 years agoSupport/FileSystem: Add create_symlink implementation.
Michael J. Spencer [Fri, 3 Dec 2010 07:41:25 +0000 (07:41 +0000)]
Support/FileSystem: Add create_symlink implementation.

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

13 years agoSupport/FileSystem: Add create_hard_link implementation.
Michael J. Spencer [Fri, 3 Dec 2010 05:58:41 +0000 (05:58 +0000)]
Support/FileSystem: Add create_hard_link implementation.

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

13 years agoSupport/ADT/Twine: Make toNullTerminatedStringRef not rely on UB :(.
Michael J. Spencer [Fri, 3 Dec 2010 05:42:25 +0000 (05:42 +0000)]
Support/ADT/Twine: Make toNullTerminatedStringRef not rely on UB :(.

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

13 years agoSupport/FileSystem: Add create_director{y,ies} implementations.
Michael J. Spencer [Fri, 3 Dec 2010 05:42:11 +0000 (05:42 +0000)]
Support/FileSystem: Add create_director{y,ies} implementations.

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

13 years agoMake EmitIntValue more efficient and more like what we do for leb128. The
Rafael Espindola [Fri, 3 Dec 2010 02:54:21 +0000 (02:54 +0000)]
Make EmitIntValue more efficient and more like what we do for leb128. The
difference is much smaller (about 0.3s) but significant.

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

13 years agoI did it wrong. Don't disregard these encodings here.
Bill Wendling [Fri, 3 Dec 2010 02:25:59 +0000 (02:25 +0000)]
I did it wrong. Don't disregard these encodings here.

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

13 years agoUnittests/Support/PathV2: Cleanup and remove output.
Michael J. Spencer [Fri, 3 Dec 2010 02:22:34 +0000 (02:22 +0000)]
Unittests/Support/PathV2: Cleanup and remove output.

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

13 years agounittests/Support/PathV2: Comment out test because some systems are saying that
Michael J. Spencer [Fri, 3 Dec 2010 02:10:30 +0000 (02:10 +0000)]
unittests/Support/PathV2: Comment out test because some systems are saying that
a file exists when it shouldn't.

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

13 years agoDon't overwrite the opcode passed into the T1Special pattern.
Bill Wendling [Fri, 3 Dec 2010 02:02:58 +0000 (02:02 +0000)]
Don't overwrite the opcode passed into the T1Special pattern.

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

13 years agoAdd Thumb encoding for some more instructions.
Bill Wendling [Fri, 3 Dec 2010 01:55:47 +0000 (01:55 +0000)]
Add Thumb encoding for some more instructions.

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

13 years agoIgnore decode table conflicts in the tMOVgpr2tgpr, tMOVgpr2gpr, and tMOVtgpr2gpr
Bill Wendling [Fri, 3 Dec 2010 01:55:30 +0000 (01:55 +0000)]
Ignore decode table conflicts in the tMOVgpr2tgpr, tMOVgpr2gpr, and tMOVtgpr2gpr
instructions. They are handled as special moves, but encoded as a normal move.

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

13 years agoSupport/Windows/FileSystem: Remove unneeded toNullTerminatedStringRef.
Michael J. Spencer [Fri, 3 Dec 2010 01:21:38 +0000 (01:21 +0000)]
Support/Windows/FileSystem: Remove unneeded toNullTerminatedStringRef.

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

13 years agoSupport/FileSystem: Add unique_file and exists implementations.
Michael J. Spencer [Fri, 3 Dec 2010 01:21:28 +0000 (01:21 +0000)]
Support/FileSystem: Add unique_file and exists implementations.

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

13 years agoSupport/FileSystem: Remove temp_directory_path.
Michael J. Spencer [Fri, 3 Dec 2010 01:21:04 +0000 (01:21 +0000)]
Support/FileSystem: Remove temp_directory_path.

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

13 years agoDo with uleb the same trick we now do with dwarf line/address advances. This
Rafael Espindola [Fri, 3 Dec 2010 01:19:49 +0000 (01:19 +0000)]
Do with uleb the same trick we now do with dwarf line/address advances. This
avoids creating leb128 fragments and speeds up the test in PR8711 to 33s.

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

13 years agoclarify comment
Chris Lattner [Fri, 3 Dec 2010 01:11:13 +0000 (01:11 +0000)]
clarify comment

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

13 years agoTry to resolve symbol differences early, and if successful create a plain
Rafael Espindola [Fri, 3 Dec 2010 00:55:40 +0000 (00:55 +0000)]
Try to resolve symbol differences early, and if successful create a plain
data fragment. This reduces the time to assemble the test in 8711 from 60s to
54s.

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

13 years agoThe tLDR instruction wasn't encoded properly:
Bill Wendling [Fri, 3 Dec 2010 00:53:22 +0000 (00:53 +0000)]
The tLDR instruction wasn't encoded properly:

<MCInst 2251 <MCOperand Reg:70> <MCOperand Reg:66> <MCOperand Imm:0> <MCOperand Reg:0> <MCOperand Imm:14> <MCOperand Reg:0>>

Notice that the "reg" here is 0, which is an invalid register. Put a check in
the code for this to prevent crashing.

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

13 years agoAdd support for "_lane" variants of VMUL, VMLA, and VMLS Neon intrinsics.
Bob Wilson [Fri, 3 Dec 2010 00:34:12 +0000 (00:34 +0000)]
Add support for "_lane" variants of VMUL, VMLA, and VMLS Neon intrinsics.

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

13 years agoSupport using macros for Neon intrinsics implemented without builtins.
Bob Wilson [Fri, 3 Dec 2010 00:34:09 +0000 (00:34 +0000)]
Support using macros for Neon intrinsics implemented without builtins.
Intrinsics implemented with Clang builtins could already be implemented as
either inline functions or macros, but intrinsics implemented directly
(without builtins) could only be inline functions.

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

13 years agoIt may not be an option to skip .debug_line if there are file reference in already...
Devang Patel [Fri, 3 Dec 2010 00:10:48 +0000 (00:10 +0000)]
It may not be an option to skip .debug_line if there are file reference in already emitted debug info. So, for now, emit dummy line table entry to make older linker and assemblers happy. This is not a new behavior, original AsmPrinter emitted similar line table entries.

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

13 years agoHide tests, that check .loc, .file in output assembly, from darwin9 buildbot.
Devang Patel [Thu, 2 Dec 2010 23:29:58 +0000 (23:29 +0000)]
Hide tests, that check .loc, .file in output assembly, from darwin9 buildbot.

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

13 years agoTrailing whitespace.
Jim Grosbach [Thu, 2 Dec 2010 23:05:38 +0000 (23:05 +0000)]
Trailing whitespace.

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

13 years agoDisable .loc support on older darwin OSes.
Devang Patel [Thu, 2 Dec 2010 23:03:57 +0000 (23:03 +0000)]
Disable .loc support on older darwin OSes.

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

13 years agoUse set directive for StartMinusEndExpr.
Devang Patel [Thu, 2 Dec 2010 21:32:30 +0000 (21:32 +0000)]
Use set directive for StartMinusEndExpr.
This is a fix for llvm-gcc-i386-darwin9 buildbot failure.

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

13 years agoTest case for r120740. Radar 8712503.
Stuart Hastings [Thu, 2 Dec 2010 21:25:55 +0000 (21:25 +0000)]
Test case for r120740.  Radar 8712503.

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

13 years agoAdjust this test for the fact that the stores are no longer
Duncan Sands [Thu, 2 Dec 2010 20:56:51 +0000 (20:56 +0000)]
Adjust this test for the fact that the stores are no longer
being combined (which is being tracked as PR8699).

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

13 years agoMove check of command line options after command line parsing.
Tobias Grosser [Thu, 2 Dec 2010 20:35:16 +0000 (20:35 +0000)]
Move check of command line options after command line parsing.

The check to not allow -analyze and -disable-output at the same time was done
before parsing the command line flags. Therefore it never triggered, and in case
both options where used opt segfaulted. Fix this by moving this check a after
command line parsing.

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

13 years agoXFAIL for now. If someone with access to an ARM/Linux host wants to have a look
Jim Grosbach [Thu, 2 Dec 2010 20:20:32 +0000 (20:20 +0000)]
XFAIL for now. If someone with access to an ARM/Linux host wants to have a look
that would be great. They're ARM JIT failures, so without that, it's tough.

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

13 years agoFix test.
Evan Cheng [Thu, 2 Dec 2010 20:17:34 +0000 (20:17 +0000)]
Fix test.

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

13 years agoThis test dates from the time when llvm-gcc had problems if two types were
Duncan Sands [Thu, 2 Dec 2010 18:19:23 +0000 (18:19 +0000)]
This test dates from the time when llvm-gcc had problems if two types were
named the same, so it had to qualify type names according to the enclosing
scope to ensure uniqueness.  This is no longer needed for correctness (though
it may be helpful when reading the IR), so this test has lost its importance.
Zap it because dragonegg will never be able to produce the qualified type name
since modern gcc zaps language specific info (such as whether a type is nested
inside another - needed to get X::Y here) before dragonegg is reached.

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

13 years agoUpdate LiveDebugVariables during coalescing.
Jakob Stoklund Olesen [Thu, 2 Dec 2010 18:15:44 +0000 (18:15 +0000)]
Update LiveDebugVariables during coalescing.

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

13 years agoWhen expanding the MOVCCi32imm, make sure to use the ARM movt/movw opcodes,
Jim Grosbach [Thu, 2 Dec 2010 16:42:25 +0000 (16:42 +0000)]
When expanding the MOVCCi32imm, make sure to use the ARM movt/movw opcodes,
not thumb2.

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

13 years agoFix copy/pasto in vmin.f32 encoding.
Jim Grosbach [Thu, 2 Dec 2010 16:30:58 +0000 (16:30 +0000)]
Fix copy/pasto in vmin.f32 encoding.

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

13 years agoTeaching MBlaze backend how to reverse branch conditions.
Wesley Peck [Thu, 2 Dec 2010 16:17:11 +0000 (16:17 +0000)]
Teaching MBlaze backend how to reverse branch conditions.

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

13 years agotest/Archive/extract.ll: Use cmp instead of diff. Thanks to Danil Malyshev!
NAKAMURA Takumi [Thu, 2 Dec 2010 09:16:14 +0000 (09:16 +0000)]
test/Archive/extract.ll: Use cmp instead of diff. Thanks to Danil Malyshev!

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

13 years agoAdd a fast path to EvaluateSymbolicAdd. This avoids computing symbol addresses
Rafael Espindola [Thu, 2 Dec 2010 07:53:12 +0000 (07:53 +0000)]
Add a fast path to EvaluateSymbolicAdd. This avoids computing symbol addresses
which then avoids running EnsureValid.
This cuts the assembly time of the testcase in PR8711 from 2:50 minutes to 1
minute.

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

13 years agoSimplify code in Neon intrinsics. No functional changes intended.
Bob Wilson [Thu, 2 Dec 2010 07:44:23 +0000 (07:44 +0000)]
Simplify code in Neon intrinsics.  No functional changes intended.
For most intrinsics, there is no need to allocate a temporary to hold the
result value; just return it directly.

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

13 years agoAssign arguments of Neon intrinsic macros to local temporaries.
Bob Wilson [Thu, 2 Dec 2010 07:10:39 +0000 (07:10 +0000)]
Assign arguments of Neon intrinsic macros to local temporaries.
Since we're casting them for the calls to the builtins, we need this to
make sure their types get checked in the same way they would if the intrinsics
were implemented as inline functions.

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

13 years agoMove EmitValueToOffset to the ObjectStreamer.
Rafael Espindola [Thu, 2 Dec 2010 05:59:38 +0000 (05:59 +0000)]
Move EmitValueToOffset to the ObjectStreamer.

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

13 years agoAdd EmitInstToFragment to the generic object streamer.
Rafael Espindola [Thu, 2 Dec 2010 05:44:06 +0000 (05:44 +0000)]
Add EmitInstToFragment to the generic object streamer.

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

13 years agoAdd naming rules to the coding standards.
Zhanyong Wan [Thu, 2 Dec 2010 05:10:07 +0000 (05:10 +0000)]
Add naming rules to the coding standards.

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

13 years agoThe sections that the ELF object writer has to create are very simple and
Rafael Espindola [Thu, 2 Dec 2010 03:09:06 +0000 (03:09 +0000)]
The sections that the ELF object writer has to create are very simple and
contain only data. Handle them specially instead of using AddSectionToTheEnd.
This moves a hack from the generic assembler to the elf writer. It is also
a bit faster and should make other improvements easier.

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

13 years agoUse statement expressions in Neon intrinsics defined as macros.
Bob Wilson [Thu, 2 Dec 2010 02:42:51 +0000 (02:42 +0000)]
Use statement expressions in Neon intrinsics defined as macros.
This is in preparation for adding assignments to temporaries to ensure
that the proper type checking is done.

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

13 years agotidy up
Chris Lattner [Thu, 2 Dec 2010 01:29:39 +0000 (01:29 +0000)]
tidy up

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

13 years agoAdd casts for splatted scalars in calls to Neon builtins.
Bob Wilson [Thu, 2 Dec 2010 01:18:23 +0000 (01:18 +0000)]
Add casts for splatted scalars in calls to Neon builtins.

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

13 years agoAdd a missing cast for Neon vsbl results.
Bob Wilson [Thu, 2 Dec 2010 01:18:20 +0000 (01:18 +0000)]
Add a missing cast for Neon vsbl results.
The bitwise operations are always done with unsigned values, but the result may
be signed.

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

13 years agoAdd another missing cast for Neon vcombine results.
Bob Wilson [Thu, 2 Dec 2010 01:18:18 +0000 (01:18 +0000)]
Add another missing cast for Neon vcombine results.

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

13 years agoAdd casts in arm_neon.h for result values in inline functions as well as macros.
Bob Wilson [Thu, 2 Dec 2010 01:18:15 +0000 (01:18 +0000)]
Add casts in arm_neon.h for result values in inline functions as well as macros.
We should not rely on lax-vector-conversions for these intrinsics to work.

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

13 years agoIf tehre are not any line entry then do not try to emit .debug_line section.
Devang Patel [Thu, 2 Dec 2010 01:17:51 +0000 (01:17 +0000)]
If tehre are not any line entry then do not try to emit .debug_line section.

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

13 years agoImplement the first half of LiveDebugVariables.
Jakob Stoklund Olesen [Thu, 2 Dec 2010 00:37:37 +0000 (00:37 +0000)]
Implement the first half of LiveDebugVariables.

Scan the MachineFunction for DBG_VALUE instructions, and replace them with a
data structure similar to LiveIntervals. The live range of a DBG_VALUE is
determined by propagating it down the dominator tree until a new DBG_VALUE is
found. When a DBG_VALUE lives in a register, its live range is confined to the
live range of the register's value.

LiveDebugVariables runs before coalescing, so DBG_VALUEs are not artificially
extended when registers are joined.

The missing half will recreate DBG_VALUE instructions from the intervals when
register allocation is complete.

The pass is disabled by default. It can be enabled with the temporary command
line option -live-debug-variables.

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

13 years agoAdd support for binary encoding of ARM 'adr' instructions referencing constant
Jim Grosbach [Thu, 2 Dec 2010 00:28:45 +0000 (00:28 +0000)]
Add support for binary encoding of ARM 'adr' instructions referencing constant
pool entries (LEApcrel pseudo). Ongoing saga of rdar://8542291.

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