OSDN Git Service
Jason W Kim [Wed, 8 Dec 2010 23:14:44 +0000 (23:14 +0000)]
ARM/MC/ELF TPsoft is now a proper pseudo inst.
Added test to check bl __aeabi_read_tp gets emitted properly for ELF/ASM
as well as ELF/OBJ (including fixup)
Also added support for ELF::R_ARM_TLS_IE32
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121312
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Dec 2010 23:13:01 +0000 (23:13 +0000)]
T2TwoRegImm isn't right for t2SUBrSPi12. Use T2I instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121311
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Dec 2010 23:12:09 +0000 (23:12 +0000)]
Add operand encoding for Thumb2 subw SP + imm. rdar://
8745434
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121310
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Dec 2010 23:04:16 +0000 (23:04 +0000)]
Add operand encoding for Thumb2 addw Rn + imm. rdar://
8745434
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121309
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 8 Dec 2010 23:01:43 +0000 (23:01 +0000)]
Support the "target" encodings for the CB[N]Z instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121308
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 8 Dec 2010 23:01:18 +0000 (23:01 +0000)]
Fix an obvious cut-n-paste error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121307
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 8 Dec 2010 22:57:16 +0000 (22:57 +0000)]
Implement very primitive hinting support in RegAllocGreedy.
The hint is simply tried first and then forgotten if it couldn't be allocated
immediately.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121306
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Dec 2010 22:50:19 +0000 (22:50 +0000)]
Add operand encoding for Thumb2 addw SP + imm. rdar://
8745434
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121305
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Dec 2010 22:38:41 +0000 (22:38 +0000)]
Parameterize opcode encoding bits for Thumb2 extended precision integer
multiply instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121301
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 8 Dec 2010 22:36:08 +0000 (22:36 +0000)]
Add operators for "_lane" variants of some saturating Neon multiply intrinsics
so they can be implemented without separate clang builtins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121299
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Dec 2010 22:29:28 +0000 (22:29 +0000)]
Fix operand encoding for Thumb2 extended precision multiplies. rdar://
8745555
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121297
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 8 Dec 2010 22:22:41 +0000 (22:22 +0000)]
Store (priority,regnum) pairs in the priority queue instead of providing an
abstract priority queue interface in subclasses that want to override the
priority calculations.
Subclasses must provide a getPriority() implementation instead.
This approach requires less code as long as priorities are expressable as simple
floats, and it avoids the dangers of defining potentially expensive priority
comparison functions.
It also should speed up priority_queue operations since they no longer have to
chase pointers when comparing registers. This is not measurable, though.
Preferably, we shouldn't use floats to guide code generation. The use of floats
here is derived from the use of floats for spill weights. Spill weights have a
dynamic range that doesn't lend itself easily to a fixpoint implementation.
When someone invents a stable spill weight representation, it can be reused for
allocation priorities.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121294
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 8 Dec 2010 22:21:42 +0000 (22:21 +0000)]
Reword comment slightly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121293
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Wed, 8 Dec 2010 22:15:32 +0000 (22:15 +0000)]
Fixed some dependencies in RegAllocPBQP.h . Thanks to Borja Ferrer for pointing out this issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121292
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Dec 2010 22:10:43 +0000 (22:10 +0000)]
Simplify T2 operand assignment notation a bit. No need to specify a bit range
for the source field when it's the whole thing that's being referenced.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121291
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 8 Dec 2010 21:46:37 +0000 (21:46 +0000)]
Use type's file info while describing inheritance relationship.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121289
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 8 Dec 2010 21:39:04 +0000 (21:39 +0000)]
Add operators for vabdl and vabal so they can be implemented without builtins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121287
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 8 Dec 2010 21:39:00 +0000 (21:39 +0000)]
Remove unused function parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121286
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 8 Dec 2010 21:35:09 +0000 (21:35 +0000)]
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121285
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 8 Dec 2010 21:12:00 +0000 (21:12 +0000)]
Trim includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121283
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 8 Dec 2010 20:42:44 +0000 (20:42 +0000)]
Add support to create debug info for functions and methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121281
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Dec 2010 20:32:07 +0000 (20:32 +0000)]
Tweak ARM fixup value adjustments for Thumb to better handle the half-word
ordering of thumb mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121280
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 8 Dec 2010 20:18:20 +0000 (20:18 +0000)]
Add support to create class type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121279
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 8 Dec 2010 20:09:10 +0000 (20:09 +0000)]
Add an operator for vaba so it can be implemented using vabd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121276
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Wed, 8 Dec 2010 20:04:29 +0000 (20:04 +0000)]
Generalize PostRAHazardRecognizer so it can be used in any pass for
both forward and backward scheduling. Rename it to
ScoreboardHazardRecognizer (Scoreboard is one word). Remove integer
division from the scoreboard's critical path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121274
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 8 Dec 2010 20:02:49 +0000 (20:02 +0000)]
Use this new fangled StringSwitch technology.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121273
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 8 Dec 2010 19:31:11 +0000 (19:31 +0000)]
Improve comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121272
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Dec 2010 15:36:45 +0000 (15:36 +0000)]
Add initializer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121262
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 8 Dec 2010 13:03:15 +0000 (13:03 +0000)]
Cleanup table a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121250
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 8 Dec 2010 06:29:02 +0000 (06:29 +0000)]
Add comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121238
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 8 Dec 2010 03:26:16 +0000 (03:26 +0000)]
Stub out RegAllocGreedy.
This new register allocator is initially identical to RegAllocBasic, but it will
receive all of the tricks that RegAllocBasic won't get.
RegAllocGreedy will eventually replace linear scan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121234
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 8 Dec 2010 02:46:25 +0000 (02:46 +0000)]
Fix newlines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121233
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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