oota-llvm.git
13 years agobuild: Shared libraries shouldn't used RPATH on Darwin, only main executables
Daniel Dunbar [Wed, 8 Dec 2010 02:29:26 +0000 (02:29 +0000)]
build: Shared libraries shouldn't used RPATH on Darwin, only main executables
should use that.

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

13 years agoRegenerate this for Daniel.
Eric Christopher [Wed, 8 Dec 2010 02:02:14 +0000 (02:02 +0000)]
Regenerate this for Daniel.

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

13 years agoAdd support for loading from a constant pool.
Bill Wendling [Wed, 8 Dec 2010 01:57:09 +0000 (01:57 +0000)]
Add support for loading from a constant pool.

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

13 years agoAdd support to create vector, array, enums etc...
Devang Patel [Wed, 8 Dec 2010 01:50:15 +0000 (01:50 +0000)]
Add support to create vector, array, enums etc...

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

13 years agobuild: Don't force -flat_namespace or '-undefined suppress' on unsuspecting users...
Daniel Dunbar [Wed, 8 Dec 2010 01:48:05 +0000 (01:48 +0000)]
build: Don't force -flat_namespace or '-undefined suppress' on unsuspecting users of LLVM makefiles, these options really shouldn't be used on Darwin.

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

13 years agoautoconf: Stop lying to me.
Daniel Dunbar [Wed, 8 Dec 2010 01:48:03 +0000 (01:48 +0000)]
autoconf: Stop lying to me.

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

13 years agoLet target asm backends see assembler flags as they go by. Use that to handle
Jim Grosbach [Wed, 8 Dec 2010 01:16:55 +0000 (01:16 +0000)]
Let target asm backends see assembler flags as they go by. Use that to handle
thumb vs. arm mode differences in WriteNopData().

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

13 years agoMove RABasic::addMBBLiveIns to the base class, it is generally useful.
Jakob Stoklund Olesen [Wed, 8 Dec 2010 01:06:06 +0000 (01:06 +0000)]
Move RABasic::addMBBLiveIns to the base class, it is generally useful.

Minor optimization to the use of IntervalMap iterators. They are fairly
heavyweight, so prefer SI.valid() over SI != end().

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

13 years agoSimplify the byte reordering logic slightly.
Owen Anderson [Wed, 8 Dec 2010 00:21:33 +0000 (00:21 +0000)]
Simplify the byte reordering logic slightly.

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

13 years agoVLDR fixups need special handling under Thumb. While the encoding is the same,
Owen Anderson [Wed, 8 Dec 2010 00:18:36 +0000 (00:18 +0000)]
VLDR fixups need special handling under Thumb.  While the encoding is the same,
the order of the bytes in the data stream is flipped around.

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

13 years agoAdd operators for vadd[lw] and vsub[lw]
Bob Wilson [Wed, 8 Dec 2010 00:14:04 +0000 (00:14 +0000)]
Add operators for vadd[lw] and vsub[lw]
so they can be implemented without clang builtins.

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

13 years agoGlobal variable does not need linkage name.
Devang Patel [Wed, 8 Dec 2010 00:06:22 +0000 (00:06 +0000)]
Global variable does not need linkage name.

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

13 years agoAdd support to create local variable's debug info.
Devang Patel [Tue, 7 Dec 2010 23:58:00 +0000 (23:58 +0000)]
Add support to create local variable's debug info.

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

13 years agoAdd operators for vmlal{_n,_lane} and vmlsl{_n,_lane}
Bob Wilson [Tue, 7 Dec 2010 23:53:37 +0000 (23:53 +0000)]
Add operators for vmlal{_n,_lane} and vmlsl{_n,_lane}
so they can be implemented without clang builtins.

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

13 years agoEmit vmovl intrinsics first in the arm_neon.h header
Bob Wilson [Tue, 7 Dec 2010 23:53:32 +0000 (23:53 +0000)]
Emit vmovl intrinsics first in the arm_neon.h header
so they can be used in the implementations of other intrinsics.

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

13 years agoLayout each section independently. With the testcase in PR8711:
Rafael Espindola [Tue, 7 Dec 2010 23:32:26 +0000 (23:32 +0000)]
Layout each section independently. With the testcase in PR8711:

before:
        4 assembler - Number of assembler layout and relaxation steps
    78563 assembler - Number of emitted assembler fragments
  8693904 assembler - Number of emitted object file bytes
   271223 assembler - Number of evaluated fixups
330771677 assembler - Number of fragment layouts
     5958 assembler - Number of relaxed instructions
  2508361 mcexpr    - Number of MCExpr evaluations

real 0m26.123s
user 0m25.694s
sys 0m0.388s

after:

      4 assembler - Number of assembler layout and relaxation steps
  78563 assembler - Number of emitted assembler fragments
8693904 assembler - Number of emitted object file bytes
 271223 assembler - Number of evaluated fixups
 231507 assembler - Number of fragment layouts
   5958 assembler - Number of relaxed instructions
2508361 mcexpr    - Number of MCExpr evaluations

real 0m2.500s
user 0m2.113s
sys 0m0.273s

And yes, the outputs are identical :-)

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

13 years agoFix a warning about a variable which is only used in an assertion.
Matt Beaumont-Gay [Tue, 7 Dec 2010 23:26:21 +0000 (23:26 +0000)]
Fix a warning about a variable which is only used in an assertion.

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

13 years agoAdd support to create variables, structs etc.. using DIBuilder.
Devang Patel [Tue, 7 Dec 2010 23:25:47 +0000 (23:25 +0000)]
Add support to create variables, structs etc.. using DIBuilder.
This is still work in progress.

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

13 years agoSwitch LiveIntervalUnion from std::set to IntervalMap.
Jakob Stoklund Olesen [Tue, 7 Dec 2010 23:18:47 +0000 (23:18 +0000)]
Switch LiveIntervalUnion from std::set to IntervalMap.

This speeds up RegAllocBasic by 20%, not counting releaseMemory which becomes
way faster.

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

13 years agoFix begin() and end() on const IntervalMap.
Jakob Stoklund Olesen [Tue, 7 Dec 2010 23:18:43 +0000 (23:18 +0000)]
Fix begin() and end() on const IntervalMap.

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

13 years agoCleanup in the Darwin end. No functionality change.
Bill Wendling [Tue, 7 Dec 2010 23:11:00 +0000 (23:11 +0000)]
Cleanup in the Darwin end. No functionality change.

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

13 years agoFix a bad prologue / epilogue codegen bug where the compiler would emit illegal
Evan Cheng [Tue, 7 Dec 2010 23:08:38 +0000 (23:08 +0000)]
Fix a bad prologue / epilogue codegen bug where the compiler would emit illegal
vpush instructions to save / restore VFP / NEON registers like this:
vpush {d8,d10,d11}
vpop {d8,d10,d11}

vpush and vpop do not allow gaps in the register list.
rdar://8728956

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

13 years agoAdd source Record* reference to PatternToMatch. Allows better diagnostics.
Jim Grosbach [Tue, 7 Dec 2010 23:05:49 +0000 (23:05 +0000)]
Add source Record* reference to PatternToMatch. Allows better diagnostics.

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

13 years agoA bit of cleanup: early exit ApplyFixup and cache the Fixup offset. No
Bill Wendling [Tue, 7 Dec 2010 23:05:20 +0000 (23:05 +0000)]
A bit of cleanup: early exit ApplyFixup and cache the Fixup offset. No
functionality change.

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

13 years agoAdd an operator for vdup_lane so it can be implemented without a clang builtin.
Bob Wilson [Tue, 7 Dec 2010 22:39:24 +0000 (22:39 +0000)]
Add an operator for vdup_lane so it can be implemented without a clang builtin.

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

13 years agoAdd an operator for vmull_lane so it can be implemented without a clang builtin.
Bob Wilson [Tue, 7 Dec 2010 22:02:48 +0000 (22:02 +0000)]
Add an operator for vmull_lane so it can be implemented without a clang builtin.

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

13 years agoBinary encoding for ARM tLDRspi and tSTRspi.
Jim Grosbach [Tue, 7 Dec 2010 21:50:47 +0000 (21:50 +0000)]
Binary encoding for ARM tLDRspi and tSTRspi.

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

13 years agoHandle recursive values. Add comments.
Devang Patel [Tue, 7 Dec 2010 21:12:05 +0000 (21:12 +0000)]
Handle recursive values. Add comments.

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

13 years agoFix Thumb2 encoding of the S bit.
Owen Anderson [Tue, 7 Dec 2010 20:50:15 +0000 (20:50 +0000)]
Fix Thumb2 encoding of the S bit.

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

13 years agoRemove reference to the CMPz instruction patterns for ARM.
Jim Grosbach [Tue, 7 Dec 2010 20:44:33 +0000 (20:44 +0000)]
Remove reference to the CMPz instruction patterns for ARM.

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

13 years agoRefactor the ARM CMPz* patterns to just use the normal CMP instructions when
Jim Grosbach [Tue, 7 Dec 2010 20:41:06 +0000 (20:41 +0000)]
Refactor the ARM CMPz* patterns to just use the normal CMP instructions when
possible. They were duplicates for everything exception the source pattern
before.

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

13 years agoCode clean up; no functionality change.
Evan Cheng [Tue, 7 Dec 2010 20:11:46 +0000 (20:11 +0000)]
Code clean up; no functionality change.

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

13 years agoAdd new built-in operations for vmull and vmull_n
Bob Wilson [Tue, 7 Dec 2010 20:02:45 +0000 (20:02 +0000)]
Add new built-in operations for vmull and vmull_n
so they can be implemented without requiring clang builtins.
Radar 8446238.

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

13 years agoCode clean up; no functionality change.
Evan Cheng [Tue, 7 Dec 2010 19:59:34 +0000 (19:59 +0000)]
Code clean up; no functionality change.

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

13 years agoRemove the code from Function::dropAllReferences which replaced
Dan Gohman [Tue, 7 Dec 2010 19:56:51 +0000 (19:56 +0000)]
Remove the code from Function::dropAllReferences which replaced
uses of the function's blocks with undef. This code isn't needed,
because BasicBlock's destructor handles such uses. Also, undef isn't
correct, since blockaddresses may still be used for comparisons
with null.

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

13 years agoTrailing whitespace.
Jim Grosbach [Tue, 7 Dec 2010 19:36:07 +0000 (19:36 +0000)]
Trailing whitespace.

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

13 years agoChange assert to diagnostic. Message still needs work, but it's better than
Jim Grosbach [Tue, 7 Dec 2010 19:35:36 +0000 (19:35 +0000)]
Change assert to diagnostic. Message still needs work, but it's better than
an assert, at least.

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

13 years agoRemove target specific node MipsISD::CMov, which is not used because all conditional...
Bruno Cardoso Lopes [Tue, 7 Dec 2010 19:04:14 +0000 (19:04 +0000)]
Remove target specific node MipsISD::CMov, which is not used because all conditional moves are directly matched using tablegen patterns. If there's a need in the future, we can introduce it again

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

13 years agoMatch a pattern generated by a dag combiner opt where:
Bruno Cardoso Lopes [Tue, 7 Dec 2010 19:00:20 +0000 (19:00 +0000)]
Match a pattern generated by a dag combiner opt where:

(select (load (load tga0)) (load tga1)) => (load (select (load tga0) tga1))

Thanks to Akira for pointing that.

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

13 years agoSimplify assertion.
Jakob Stoklund Olesen [Tue, 7 Dec 2010 18:51:27 +0000 (18:51 +0000)]
Simplify assertion.

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

13 years agoMissed a spot removing Alarm.
Michael J. Spencer [Tue, 7 Dec 2010 18:50:33 +0000 (18:50 +0000)]
Missed a spot removing Alarm.

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

13 years agoSupport: Remove Alarm. It is unused (via local grep and google code search).
Michael J. Spencer [Tue, 7 Dec 2010 18:41:59 +0000 (18:41 +0000)]
Support: Remove Alarm. It is unused (via local grep and google code search).

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

13 years agoSupport/PathV2: Remove const from bool return types.
Michael J. Spencer [Tue, 7 Dec 2010 18:12:07 +0000 (18:12 +0000)]
Support/PathV2: Remove const from bool return types.

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

13 years agoFix spelling.
Michael J. Spencer [Tue, 7 Dec 2010 18:11:54 +0000 (18:11 +0000)]
Fix spelling.

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

13 years agoSupport: Remove DynamicLinker.h. It is unused and unimplemented.
Michael J. Spencer [Tue, 7 Dec 2010 18:11:38 +0000 (18:11 +0000)]
Support: Remove DynamicLinker.h. It is unused and unimplemented.

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

13 years agoEncode the literal field for tCMPzi instruction.
Jim Grosbach [Tue, 7 Dec 2010 17:48:24 +0000 (17:48 +0000)]
Encode the literal field for tCMPzi instruction.

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

13 years agoFix absolute recording of differences of symbols in two sections. Reduced from ctor_d...
Rafael Espindola [Tue, 7 Dec 2010 17:12:32 +0000 (17:12 +0000)]
Fix absolute recording of differences of symbols in two sections. Reduced from ctor_dtor_count-2.cpp.

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

13 years agoSupport/PathV2: Change most functions in the path namespace to return their work
Michael J. Spencer [Tue, 7 Dec 2010 17:04:04 +0000 (17:04 +0000)]
Support/PathV2: Change most functions in the path namespace to return their work
via their return value instead of an out parameter.

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

13 years agobuild: Go back to dropping __eprintf reference when building with Clang, see
Daniel Dunbar [Tue, 7 Dec 2010 16:29:44 +0000 (16:29 +0000)]
build: Go back to dropping __eprintf reference when building with Clang, see
comment.

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

13 years agoAdd parens to pacify gcc.
Benjamin Kramer [Tue, 7 Dec 2010 15:50:35 +0000 (15:50 +0000)]
Add parens to pacify gcc.

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

13 years agoRemove some dead code from the jump threading pass.
Frits van Bommel [Tue, 7 Dec 2010 13:08:07 +0000 (13:08 +0000)]
Remove some dead code from the jump threading pass.

The last uses of these functions were removed in r113852 when LazyValueInfo was permanently enabled and removed the need for them.

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

13 years agoCMake: Fix warning in gtest header used by unit tests.
Frits van Bommel [Tue, 7 Dec 2010 10:22:07 +0000 (10:22 +0000)]
CMake: Fix warning in gtest header used by unit tests.

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

13 years agoPR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() and
Jay Foad [Tue, 7 Dec 2010 08:25:19 +0000 (08:25 +0000)]
PR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() and
zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method
trunc(), to be const and to return a new value instead of modifying the
object in place.

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

13 years agoDon't leak the mutex when loading dynamic libraries.
Owen Anderson [Tue, 7 Dec 2010 07:56:20 +0000 (07:56 +0000)]
Don't leak the mutex when loading dynamic libraries.

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

13 years agoutils/lit/lit/TestFormats.py: [PR8438] unittests: Seek *Tests (not BUILD_MODE/*Tests...
NAKAMURA Takumi [Tue, 7 Dec 2010 07:41:32 +0000 (07:41 +0000)]
utils/lit/lit/TestFormats.py: [PR8438] unittests: Seek *Tests (not BUILD_MODE/*Tests) under whole unittests/ if BUILD_MODE == '.'

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

13 years agounittests/CMakeLists.txt: Tweak unittests' layout to be identical to GNU build.
NAKAMURA Takumi [Tue, 7 Dec 2010 07:41:23 +0000 (07:41 +0000)]
unittests/CMakeLists.txt: Tweak unittests' layout to be identical to GNU build.

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

13 years agoFix relocations with weak definitions.
Rafael Espindola [Tue, 7 Dec 2010 05:57:28 +0000 (05:57 +0000)]
Fix relocations with weak definitions.

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

13 years agoRevert test/Archive/check_binary_output.ll". It fails on a buildbot.
NAKAMURA Takumi [Tue, 7 Dec 2010 05:57:02 +0000 (05:57 +0000)]
Revert test/Archive/check_binary_output.ll". It fails on a buildbot.

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

13 years agoreapply r121100 with a tweak to constant fold ConstExprs with TargetData
Chris Lattner [Tue, 7 Dec 2010 04:33:29 +0000 (04:33 +0000)]
reapply r121100 with a tweak to constant fold ConstExprs with TargetData
(if available) as we go so that we get simple constantexprs not insane ones.
This fixes the failure of clang/test/CodeGenCXX/virtual-base-ctor.cpp
that the previous iteration of this patch had.

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

13 years agoSupport/PathV2: Cleanup separator handling.
Michael J. Spencer [Tue, 7 Dec 2010 03:57:48 +0000 (03:57 +0000)]
Support/PathV2: Cleanup separator handling.

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

13 years agoSupport/PathV2: Remove the error_code return type from all functions in the path
Michael J. Spencer [Tue, 7 Dec 2010 03:57:37 +0000 (03:57 +0000)]
Support/PathV2: Remove the error_code return type from all functions in the path
namespace. None of them return anything except for success anyway. These will be
converted to returning their result soon.

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

13 years agoSupport/PathV2: Move make_absolute from path to fs.
Michael J. Spencer [Tue, 7 Dec 2010 03:57:17 +0000 (03:57 +0000)]
Support/PathV2: Move make_absolute from path to fs.

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

13 years agoFix pcrel relocations that cross sections.
Rafael Espindola [Tue, 7 Dec 2010 03:50:14 +0000 (03:50 +0000)]
Fix pcrel relocations that cross sections.

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

13 years agotest/Archive/check_binary_output.ll: Add a new test to check output of 'llvm-ar ...
NAKAMURA Takumi [Tue, 7 Dec 2010 03:35:20 +0000 (03:35 +0000)]
test/Archive/check_binary_output.ll: Add a new test to check output of 'llvm-ar -p' is sane. Thanks to Danil Malyshev!

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

13 years agotest/Other/close-stderr.ll: Require the feature 'shell'. It is not executable on...
NAKAMURA Takumi [Tue, 7 Dec 2010 02:43:58 +0000 (02:43 +0000)]
test/Other/close-stderr.ll: Require the feature 'shell'. It is not executable on Win32 but it is executable on MSYS-bash.

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

13 years agotest: Add the feature 'shell' on LLVM_ON_UNIX.
NAKAMURA Takumi [Tue, 7 Dec 2010 02:43:51 +0000 (02:43 +0000)]
test: Add the feature 'shell' on LLVM_ON_UNIX.

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

13 years agolib/Target/X86/X86MCAsmInfo.cpp: [PR8741] On Win64, specify explicit PrivateGlobalPre...
NAKAMURA Takumi [Tue, 7 Dec 2010 02:43:45 +0000 (02:43 +0000)]
lib/Target/X86/X86MCAsmInfo.cpp: [PR8741] On Win64, specify explicit PrivateGlobalPrefix as ".L".

Or, global symbols @Lxxxx might be treated as temporal symbol by MCSymbol.

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

13 years agoTemporarily revert r121100 as it's causing clang to fail
Eric Christopher [Tue, 7 Dec 2010 02:41:11 +0000 (02:41 +0000)]
Temporarily revert r121100 as it's causing clang to fail
CodeGenCXX/virtual-base-ctor.cpp.

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

13 years agoTwo things: Fix testcase to use extern - otherwise the link will always
Eric Christopher [Tue, 7 Dec 2010 02:05:42 +0000 (02:05 +0000)]
Two things: Fix testcase to use extern - otherwise the link will always
succeed. Also make the testcase clearer as to what we're doing and
emit a checking notification to the log.

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

13 years agofix PR8710 - teach global opt that some constantexprs are too complex to
Chris Lattner [Tue, 7 Dec 2010 01:59:32 +0000 (01:59 +0000)]
fix PR8710 - teach global opt that some constantexprs are too complex to
put in a global variable's initializer.

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

13 years agoRemove unused member.
Jakob Stoklund Olesen [Tue, 7 Dec 2010 01:32:45 +0000 (01:32 +0000)]
Remove unused member.

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

13 years agoPromote "enumerator in switch of enum is not handled" to level 1 warning on MSVC...
Francois Pichet [Tue, 7 Dec 2010 01:25:06 +0000 (01:25 +0000)]
Promote "enumerator in switch of enum is not handled" to level 1 warning on MSVC. It was disabled by default.

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

13 years agoTest: Fix Support.Path and _all_ of the unittest death tests. GetTempPath defaults...
Michael J. Spencer [Tue, 7 Dec 2010 01:23:49 +0000 (01:23 +0000)]
Test: Fix Support.Path and _all_ of the unittest death tests. GetTempPath defaults to \Windows\.

If I typed anything else it would just decline into cursing.

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

13 years agoSupport/Unix/PathV2: Return the real error from realpath instead of any error
Michael J. Spencer [Tue, 7 Dec 2010 01:23:39 +0000 (01:23 +0000)]
Support/Unix/PathV2: Return the real error from realpath instead of any error
that close or unlink set.

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

13 years agoSupport/Unix/PathV2: Use 0770 instead of 0700 when creating a directory. Also use
Michael J. Spencer [Tue, 7 Dec 2010 01:23:29 +0000 (01:23 +0000)]
Support/Unix/PathV2: Use 0770 instead of 0700 when creating a directory. Also use
the standard macros instead of octal notation.

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

13 years agoSupport/PathV2: Use SmallVector::clear instead of set_size.
Michael J. Spencer [Tue, 7 Dec 2010 01:23:19 +0000 (01:23 +0000)]
Support/PathV2: Use SmallVector::clear instead of set_size.

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

13 years agoSupport/PathV2: Clarify and correct documentation.
Michael J. Spencer [Tue, 7 Dec 2010 01:23:08 +0000 (01:23 +0000)]
Support/PathV2: Clarify and correct documentation.

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

13 years agoSupport/PathV2: Move current_path from path to fs and fix the Unix implementation.
Michael J. Spencer [Tue, 7 Dec 2010 01:22:31 +0000 (01:22 +0000)]
Support/PathV2: Move current_path from path to fs and fix the Unix implementation.

Unix bug spotted by Dan Gohman.

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

13 years agoAdd an OpReinterpret operation to TableGen's NeonEmitter.
Bob Wilson [Tue, 7 Dec 2010 01:12:23 +0000 (01:12 +0000)]
Add an OpReinterpret operation to TableGen's NeonEmitter.
An OpReinterpret entry is handled by translating it to OpCast intrinsics for
all combinations of source and destination types with the same total size.
This will be used to generate all the vreinterpret intrinsics.

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

13 years agoFix whitespace.
Bob Wilson [Tue, 7 Dec 2010 01:12:19 +0000 (01:12 +0000)]
Fix whitespace.

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

13 years agoFix a crash reduced from gcc produced assembly.
Rafael Espindola [Tue, 7 Dec 2010 01:09:54 +0000 (01:09 +0000)]
Fix a crash reduced from gcc produced assembly.

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

13 years agoSecond attempt at converting Thumb2's LDRpci, including updating the gazillion places...
Owen Anderson [Tue, 7 Dec 2010 00:45:21 +0000 (00:45 +0000)]
Second attempt at converting Thumb2's LDRpci, including updating the gazillion places that need to know about it.

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

13 years agoAdd python scripts to extract debug info using LLDB and do comparison.
Devang Patel [Tue, 7 Dec 2010 00:34:59 +0000 (00:34 +0000)]
Add python scripts to extract debug info using LLDB and do comparison.

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

13 years agoAdd a simple breakpoint location printer. This will be used by upcoming "debug info...
Devang Patel [Tue, 7 Dec 2010 00:33:43 +0000 (00:33 +0000)]
Add a simple breakpoint location printer. This will be used by upcoming "debug info in optimized code" quality test harness to set breakpoints at "interesting" locations.

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

13 years agoSorry for such a large commit. The summary is that only MachO cares about the
Rafael Espindola [Tue, 7 Dec 2010 00:27:36 +0000 (00:27 +0000)]
Sorry for such a large commit. The summary is that only MachO cares about the
actuall addresses in a .o file, so it is better to let the MachO writer compute
it.

This is good for two reasons. First, areas that shouldn't care about
addresses now don't have access to it. Second, the layout of each section
is independent. I should use this in a subsequent commit to speed it up.

Most of the patch is just removing the section address computation. The two
interesting parts are the change on how we handle padding in the end
of sections and how MachO can get the address of a-b when a and b are in
different sections.

Since now the expression evaluation normally doesn't know the section address,
it will think that a-b needs relocation and let the MachO writer know. Once
it has computed the section addresses, it calls back the expression evaluation
with the section addresses to resolve these expressions.

The remaining problem is the handling of padding. Currently it will create
a special alignment fragment at the end. Since that fragment doesn't update
the alignment of the section, it needs the real address to be computed.

Since now the layout will not compute a-b with a and b in different sections,
the only effect that the special alignment fragment has is update the
address size of the section. This can also be done by the MachO writer.

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

13 years agoAdd fixup for Thumb1 BL/BLX instructions.
Jim Grosbach [Mon, 6 Dec 2010 23:57:07 +0000 (23:57 +0000)]
Add fixup for Thumb1 BL/BLX instructions.

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

13 years agoImplement jump threading of 'indirectbr' by keeping track of whether we're looking...
Frits van Bommel [Mon, 6 Dec 2010 23:36:56 +0000 (23:36 +0000)]
Implement jump threading of 'indirectbr' by keeping track of whether we're looking for ConstantInt*s or BlockAddress*s.

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

13 years agoUndefined value in reg 0 may need a marker to identify end of source range.
Devang Patel [Mon, 6 Dec 2010 22:48:22 +0000 (22:48 +0000)]
Undefined value in reg 0 may need a marker to identify end of source range.
This will be used to truncate live range of DBG_VALUE instruction by register allocator and friends.

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

13 years agoIf dbg_declare() or dbg_value() is not lowered by isel then emit DEBUG message instea...
Devang Patel [Mon, 6 Dec 2010 22:39:26 +0000 (22:39 +0000)]
If dbg_declare() or dbg_value() is not lowered by isel then emit DEBUG message instead of creating DBG_VALUE for undefined value in reg0.

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

13 years agoUse references to simplify the code a bit.
Rafael Espindola [Mon, 6 Dec 2010 22:30:54 +0000 (22:30 +0000)]
Use references to simplify the code a bit.

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

13 years agoAdding bug fix that was suppose to be part of 121044.
Wesley Peck [Mon, 6 Dec 2010 22:19:28 +0000 (22:19 +0000)]
Adding bug fix that was suppose to be part of 121044.
patch contributed by Jack Whitham!

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

13 years agoFixed reversed operands for IDIV and CMP instructions in MBlaze backend.
Wesley Peck [Mon, 6 Dec 2010 22:06:49 +0000 (22:06 +0000)]
Fixed reversed operands for IDIV and CMP instructions in MBlaze backend.
Use BRAD instead of BRD for indirect branches in MBlaze backend.

patch contributed by Jack Whitham!

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

13 years agoRefactor ELFObjectWriter.
Jason W Kim [Mon, 6 Dec 2010 21:57:34 +0000 (21:57 +0000)]
Refactor ELFObjectWriter.
+ ARM/X86/MBlaze now share a common RecordRelocation
+ ARM/X86/MBlaze arch specific routines are limited to GetRelocType()

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

13 years agoreplace a linear scan with a symtab lookup, reduce indentation.
Chris Lattner [Mon, 6 Dec 2010 21:53:07 +0000 (21:53 +0000)]
replace a linear scan with a symtab lookup, reduce indentation.
No functionality change.

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

13 years agouse getSymbolOffset.
Rafael Espindola [Mon, 6 Dec 2010 21:51:55 +0000 (21:51 +0000)]
use getSymbolOffset.

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

13 years agoUse a stronger predicate here, pointed out by Duncan
Chris Lattner [Mon, 6 Dec 2010 21:48:10 +0000 (21:48 +0000)]
Use a stronger predicate here, pointed out by Duncan

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

13 years agoadd some DEBUG statements.
Chris Lattner [Mon, 6 Dec 2010 21:13:51 +0000 (21:13 +0000)]
add some DEBUG statements.

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

13 years agoFix a 16-bit immediate value detection bug in the MBlaze delay slot filler.
Wesley Peck [Mon, 6 Dec 2010 21:11:01 +0000 (21:11 +0000)]
Fix a 16-bit immediate value detection bug in the MBlaze delay slot filler.
Address more hazards in the MBlaze delay slot filler.

patch contributed by Jack Whitham!

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

13 years agoAnother use of getSymbolOffset.
Rafael Espindola [Mon, 6 Dec 2010 19:55:05 +0000 (19:55 +0000)]
Another use of getSymbolOffset.

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

13 years agoRemove the instruction fragment to data fragment lowering since it was causing
Rafael Espindola [Mon, 6 Dec 2010 19:08:48 +0000 (19:08 +0000)]
Remove the instruction fragment to data fragment lowering since it was causing
freed data to be read. I will open a bug to track it being reenabled.

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