Commit Graph

67929 Commits

Author SHA1 Message Date
Bill Wendling 7a05f00ade Fix newlines.
llvm-svn: 121233
2010-12-08 02:46:25 +00:00
Daniel Dunbar c1c4e9589a build: Shared libraries shouldn't used RPATH on Darwin, only main executables
should use that.

llvm-svn: 121231
2010-12-08 02:29:26 +00:00
Eric Christopher 8d842da572 Regenerate this for Daniel.
llvm-svn: 121227
2010-12-08 02:02:14 +00:00
Bill Wendling 8a6449c46e Add support for loading from a constant pool.
llvm-svn: 121226
2010-12-08 01:57:09 +00:00
Devang Patel 89ea4f27a8 Add support to create vector, array, enums etc...
llvm-svn: 121224
2010-12-08 01:50:15 +00:00
Daniel Dunbar 21e71e948b build: Don't force -flat_namespace or '-undefined suppress' on unsuspecting users of LLVM makefiles, these options really shouldn't be used on Darwin.
llvm-svn: 121223
2010-12-08 01:48:05 +00:00
Daniel Dunbar 00e7a8459b autoconf: Stop lying to me.
llvm-svn: 121222
2010-12-08 01:48:03 +00:00
Jim Grosbach 87055ed6f4 Let target asm backends see assembler flags as they go by. Use that to handle
thumb vs. arm mode differences in WriteNopData().

llvm-svn: 121219
2010-12-08 01:16:55 +00:00
Jakob Stoklund Olesen 5885e99405 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().

llvm-svn: 121217
2010-12-08 01:06:06 +00:00
Owen Anderson 72ce453c73 Simplify the byte reordering logic slightly.
llvm-svn: 121216
2010-12-08 00:21:33 +00:00
Owen Anderson 0f7142d808 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.

llvm-svn: 121215
2010-12-08 00:18:36 +00:00
Bob Wilson 97b44b5b4a Add operators for vadd[lw] and vsub[lw]
so they can be implemented without clang builtins.

llvm-svn: 121213
2010-12-08 00:14:04 +00:00
Devang Patel dd261afdd9 Global variable does not need linkage name.
llvm-svn: 121212
2010-12-08 00:06:22 +00:00
Devang Patel 63f83cd861 Add support to create local variable's debug info.
llvm-svn: 121211
2010-12-07 23:58:00 +00:00
Bob Wilson c40935fa0c Add operators for vmlal{_n,_lane} and vmlsl{_n,_lane}
so they can be implemented without clang builtins.

llvm-svn: 121209
2010-12-07 23:53:37 +00:00
Bob Wilson 7a36c68748 Emit vmovl intrinsics first in the arm_neon.h header
so they can be used in the implementations of other intrinsics.

llvm-svn: 121208
2010-12-07 23:53:32 +00:00
Rafael Espindola 6624f47272 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 :-)

llvm-svn: 121207
2010-12-07 23:32:26 +00:00
Matt Beaumont-Gay 56de7c2773 Fix a warning about a variable which is only used in an assertion.
llvm-svn: 121206
2010-12-07 23:26:21 +00:00
Devang Patel 746660fc7b Add support to create variables, structs etc.. using DIBuilder.
This is still work in progress.

llvm-svn: 121205
2010-12-07 23:25:47 +00:00
Jakob Stoklund Olesen db357d71f1 Switch LiveIntervalUnion from std::set to IntervalMap.
This speeds up RegAllocBasic by 20%, not counting releaseMemory which becomes
way faster.

llvm-svn: 121201
2010-12-07 23:18:47 +00:00
Jakob Stoklund Olesen e702cde2dd Fix begin() and end() on const IntervalMap.
llvm-svn: 121200
2010-12-07 23:18:43 +00:00
Bill Wendling f09c44c7ab Cleanup in the Darwin end. No functionality change.
llvm-svn: 121198
2010-12-07 23:11:00 +00:00
Evan Cheng 775ead3293 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

llvm-svn: 121197
2010-12-07 23:08:38 +00:00
Jim Grosbach fb116aed60 Add source Record* reference to PatternToMatch. Allows better diagnostics.
llvm-svn: 121196
2010-12-07 23:05:49 +00:00
Bill Wendling 721724e643 A bit of cleanup: early exit ApplyFixup and cache the Fixup offset. No
functionality change.

llvm-svn: 121195
2010-12-07 23:05:20 +00:00
Bob Wilson 361afe4ef2 Add an operator for vdup_lane so it can be implemented without a clang builtin.
llvm-svn: 121190
2010-12-07 22:39:24 +00:00
Bob Wilson 17a233c0e5 Add an operator for vmull_lane so it can be implemented without a clang builtin.
llvm-svn: 121187
2010-12-07 22:02:48 +00:00
Jim Grosbach 49bcd6ff85 Binary encoding for ARM tLDRspi and tSTRspi.
llvm-svn: 121186
2010-12-07 21:50:47 +00:00
Devang Patel eea0fd0942 Handle recursive values. Add comments.
llvm-svn: 121184
2010-12-07 21:12:05 +00:00
Owen Anderson cf096a431a Fix Thumb2 encoding of the S bit.
llvm-svn: 121182
2010-12-07 20:50:15 +00:00
Jim Grosbach f878e62a0d Remove reference to the CMPz instruction patterns for ARM.
llvm-svn: 121180
2010-12-07 20:44:33 +00:00
Jim Grosbach 327cf8ee5f Refactor the ARM CMPz* patterns to just use the normal CMP instructions when
possible. They were duplicates for everything exception the source pattern
before.

llvm-svn: 121179
2010-12-07 20:41:06 +00:00
Evan Cheng de75ab9a09 Code clean up; no functionality change.
llvm-svn: 121176
2010-12-07 20:11:46 +00:00
Bob Wilson 192336b865 Add new built-in operations for vmull and vmull_n
so they can be implemented without requiring clang builtins.
Radar 8446238.

llvm-svn: 121173
2010-12-07 20:02:45 +00:00
Evan Cheng c27c956966 Code clean up; no functionality change.
llvm-svn: 121172
2010-12-07 19:59:34 +00:00
Dan Gohman f844b3b227 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.

llvm-svn: 121170
2010-12-07 19:56:51 +00:00
Jim Grosbach 8656d82b5b Trailing whitespace.
llvm-svn: 121167
2010-12-07 19:36:07 +00:00
Jim Grosbach e99956eb3e Change assert to diagnostic. Message still needs work, but it's better than
an assert, at least.

llvm-svn: 121166
2010-12-07 19:35:36 +00:00
Bruno Cardoso Lopes b9bfd0945a 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
llvm-svn: 121164
2010-12-07 19:04:14 +00:00
Bruno Cardoso Lopes f0c6e3780d 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.

llvm-svn: 121163
2010-12-07 19:00:20 +00:00
Jakob Stoklund Olesen fb207c1cb9 Simplify assertion.
llvm-svn: 121162
2010-12-07 18:51:27 +00:00
Michael J. Spencer 355ac5f622 Missed a spot removing Alarm.
llvm-svn: 121161
2010-12-07 18:50:33 +00:00
Michael J. Spencer 8b5defbd5d Support: Remove Alarm. It is unused (via local grep and google code search).
llvm-svn: 121160
2010-12-07 18:41:59 +00:00
Michael J. Spencer a68282caa8 Support/PathV2: Remove const from bool return types.
llvm-svn: 121157
2010-12-07 18:12:07 +00:00
Michael J. Spencer d77c17417a Fix spelling.
llvm-svn: 121156
2010-12-07 18:11:54 +00:00
Michael J. Spencer fec9bb59e3 Support: Remove DynamicLinker.h. It is unused and unimplemented.
llvm-svn: 121155
2010-12-07 18:11:38 +00:00
Jim Grosbach 6e517d658e Encode the literal field for tCMPzi instruction.
llvm-svn: 121153
2010-12-07 17:48:24 +00:00
Rafael Espindola e78d3b38de Fix absolute recording of differences of symbols in two sections. Reduced from ctor_dtor_count-2.cpp.
llvm-svn: 121152
2010-12-07 17:12:32 +00:00
Michael J. Spencer f616b218c8 Support/PathV2: Change most functions in the path namespace to return their work
via their return value instead of an out parameter.

llvm-svn: 121149
2010-12-07 17:04:04 +00:00
Daniel Dunbar 82ebae7631 build: Go back to dropping __eprintf reference when building with Clang, see
comment.

llvm-svn: 121146
2010-12-07 16:29:44 +00:00