Dylan Noblesmith
9b0ec7b92a
revert 133714
...
It broke the build worse.
llvm-svn: 133716
2011-06-23 13:56:01 +00:00
Rafael Espindola
b6bbcca398
133713 broke the build, revert it.
...
llvm-svn: 133714
2011-06-23 13:37:38 +00:00
Dylan Noblesmith
0adb1b1393
Support: make floating-exception header private
...
It has only one user. This eliminates the last include of
config.h from the public headers -- ideally, config.h
shouldn't even be installed by `make install` anymore.
llvm-svn: 133713
2011-06-23 12:45:54 +00:00
Dylan Noblesmith
ac8e727df3
CppBackend: fixup for api change
...
This broke after r133364.
llvm-svn: 133709
2011-06-23 12:11:37 +00:00
Jay Foad
75b709336d
Reinstate r133513 (reverted in r133700) with an additional fix for a
...
-Wshorten-64-to-32 warning in Instructions.h.
llvm-svn: 133708
2011-06-23 09:09:15 +00:00
Bill Wendling
4d12748388
Use a reference. Don't make a useless copy of the vector.
...
llvm-svn: 133707
2011-06-23 07:55:41 +00:00
Bill Wendling
e7fc1a8d9e
Formatting changes. No functionality change.
...
llvm-svn: 133706
2011-06-23 07:44:54 +00:00
Eric Christopher
d38d7f3300
Revert r133513:
...
"Reinstate r133435 and r133449 (reverted in r133499) now that the clang
self-hosted build failure has been fixed (r133512)."
Due to some additional warnings.
llvm-svn: 133700
2011-06-23 06:24:52 +00:00
Bill Wendling
42866c8944
Use the presence of the __compact_unwind section to indicate that a target
...
supports compact unwind info instead of having a separate flag indicating this.
llvm-svn: 133685
2011-06-23 05:13:28 +00:00
Rafael Espindola
151ddd5335
Move more logic to shouldTailDuplicate and only duplicate regular bb before
...
register allocation if it has a indirectbr or if we can duplicate it to
every predecessor.
This fixes the SingleSource/Benchmarks/Shootout-C++/matrix.cpp regression but
keeps the previous improvements to sunspider.
llvm-svn: 133682
2011-06-23 03:41:29 +00:00
Evan Cheng
71256b6030
Get rid of one getStackAlignment(). RegisterInfo shouldn't need to know about stack alignment.
...
llvm-svn: 133679
2011-06-23 01:53:43 +00:00
Bill Wendling
538dc8cc6f
Some skeleton code to emit the compact unwind. If the information is unable to
...
be emitted in a compact way, we then default to emitting a CIE and FDE.
llvm-svn: 133676
2011-06-23 01:06:23 +00:00
Bill Wendling
c62a961c09
80-column violations.
...
llvm-svn: 133668
2011-06-23 00:09:43 +00:00
Bill Wendling
ec779bc283
Add a flag that indicates whether a target supports compact unwind info or not.
...
llvm-svn: 133662
2011-06-22 23:16:51 +00:00
Rafael Espindola
e57d6977be
Reenable tail duplication of bb with just an unconditional jump, but
...
don't remove blocks that have their address taken.
llvm-svn: 133659
2011-06-22 22:31:57 +00:00
Bill Wendling
72c8521466
Add a __LD,__compact_unwind section.
...
If the linker supports it, this will hold the CIE and FDE information in a
compact format. The implementation of the compact unwinding emission is coming
soon.
llvm-svn: 133658
2011-06-22 22:22:24 +00:00
Nick Lewycky
5e5818d0f8
Fix the implementation of ConstantRange::sub(ConstantRange). Patch by Xi Wang!
...
llvm-svn: 133648
2011-06-22 21:13:46 +00:00
Chad Rosier
5e6ecb23a4
Revert r133607. This is causing failures in the Clang gccTestSuite.
...
Specifically, gcc.c-torture/compile/pr21356.c.
llvm-svn: 133646
2011-06-22 21:13:23 +00:00
Bill Wendling
19f2f807eb
Move class methods out-of-line. This reduces the indentation, and is more in
...
line with LLVM's general coding style.
No functionality change.
llvm-svn: 133645
2011-06-22 21:07:27 +00:00
Devang Patel
5640b59656
New binops need debug loc.
...
llvm-svn: 133642
2011-06-22 20:56:56 +00:00
Jim Grosbach
fbb64ca5ff
Add missing header.
...
llvm-svn: 133640
2011-06-22 20:40:30 +00:00
Jim Grosbach
b3d1a141fd
Move ARMMachObjectWriter to its own file.
...
Just tidy up a bit. No functional change.
llvm-svn: 133638
2011-06-22 20:14:52 +00:00
Devang Patel
6e79e59260
Set debug loc.
...
llvm-svn: 133636
2011-06-22 19:52:36 +00:00
Nick Lewycky
bf55e4b776
Emit trailing padding on constant vectors when TargetData says that the vector
...
is larger than the sum of the elements (including per-element padding).
llvm-svn: 133631
2011-06-22 18:55:03 +00:00
Justin Holewinski
da4d209996
PTX: Fix FrameIndex mapping bug
...
llvm-svn: 133619
2011-06-22 16:07:03 +00:00
Jay Foad
888cd746b8
Replace the existing forms of ConstantArray::get() with a single form
...
that takes an ArrayRef.
llvm-svn: 133615
2011-06-22 09:24:39 +00:00
Jay Foad
7ef9c9ad1e
Make ConstantVector::get() always take an ArrayRef, never a std::vector.
...
llvm-svn: 133614
2011-06-22 09:10:19 +00:00
Dan Bailey
2d3b8e126a
Test Commit.
...
llvm-svn: 133613
2011-06-22 09:04:30 +00:00
Jay Foad
f653a9e838
Eliminate a temporary std::vector in ConstantStruct::get().
...
llvm-svn: 133612
2011-06-22 08:55:11 +00:00
Jay Foad
f921ffd79e
Extend ConstantUniqueMap with a new template parameter ValRefType,
...
representing a constant reference to ValType. Normally this is just
"const ValType &", but when ValType is a std::vector we want to use
ArrayRef as the reference type.
llvm-svn: 133611
2011-06-22 08:50:06 +00:00
Rafael Espindola
9cc87c6608
Reenable the optimization added in 133415, but change the definition of a "simple" bb to
...
be one with only one unconditional branch and no phis. Duplicating the phis in this case
is possible, but requeres liveness analysis or breaking edges.
llvm-svn: 133607
2011-06-22 04:01:58 +00:00
Justin Holewinski
376f1d46d4
PTX: Add signed integer comparisons
...
llvm-svn: 133599
2011-06-22 02:09:50 +00:00
Justin Holewinski
0844ac41b6
PTX: Add .address_size directive if PTX version >= 2.3
...
Patch by Wei-Ren Chen
llvm-svn: 133589
2011-06-22 00:43:56 +00:00
Devang Patel
8b96f42a1e
After register is spilled there should not be any DBG_VALUE referring the same register.
...
llvm-svn: 133569
2011-06-21 23:02:36 +00:00
Owen Anderson
deeadc6b55
Fix some trailing issues from my introduction of MVT::untyped and its use for REGISTER_SEQUENCE.
...
llvm-svn: 133567
2011-06-21 22:54:23 +00:00
Nick Lewycky
8e5c09b7dc
Add support for assembling "movq" when it's correct to do so, while continuing
...
to emit "movd" across the board to continue supporting a Darwin assembler bug.
This is the reincarnation of r133452.
llvm-svn: 133565
2011-06-21 22:45:41 +00:00
Bill Wendling
94ed847adb
Add verbose EH table printing to SjLj exception tables.
...
llvm-svn: 133561
2011-06-21 22:40:24 +00:00
Devang Patel
42bd3da91f
There could be more than one DBG_VALUE instructions for variables where all of them have offset based on one register.
...
llvm-svn: 133560
2011-06-21 22:36:03 +00:00
Bill Wendling
16b9bd4460
Improve the comment printing for the EH table. This gives a much more detailed
...
explanation of what the EH table describes.
llvm-svn: 133559
2011-06-21 22:30:20 +00:00
Eric Christopher
5939b74818
Handle the memory-ness of all U+ ARM constraints.
...
Noticed on inspection.
llvm-svn: 133553
2011-06-21 22:10:57 +00:00
Devang Patel
b1e608f669
Remove r130409, as requested by Chris.
...
llvm-svn: 133536
2011-06-21 19:46:09 +00:00
Evan Cheng
dc39e02b91
Reorg. No functionality change.
...
llvm-svn: 133533
2011-06-21 19:00:54 +00:00
Bob Wilson
5b04895bb8
Revert r133452: "Emit movq for 64-bit register to XMM register moves..."
...
This is breaking compiler-rt and llvm-gcc builds on MacOSX when not using
the integrated assembler.
llvm-svn: 133524
2011-06-21 17:35:13 +00:00
Anna Zaks
488fc45c84
Add support for sadd.with.overflow and uadd.with.overflow intrinsics to the CBackend by emitting definitions for each intrinsic that occurs in the module.
...
llvm-svn: 133522
2011-06-21 17:18:15 +00:00
Andrew Trick
04c3bb47ce
IVUsers no longer needs to record the phis.
...
llvm-svn: 133518
2011-06-21 15:43:52 +00:00
Benjamin Kramer
02bc17d36d
Remove unused variables.
...
llvm-svn: 133514
2011-06-21 14:58:30 +00:00
Jay Foad
2691fd9891
Reinstate r133435 and r133449 (reverted in r133499) now that the clang
...
self-hosted build failure has been fixed (r133512).
llvm-svn: 133513
2011-06-21 10:33:19 +00:00
Jay Foad
d7276856c6
Don't use PN->replaceUsesOfWith() to change a PHINode's incoming blocks,
...
because it won't work after my phi operand changes, because the incoming
blocks will no longer be Uses.
llvm-svn: 133512
2011-06-21 10:02:43 +00:00
Evan Cheng
40adfc21f6
Teach dag combine to match halfword byteswap patterns.
...
1. (((x) & 0xFF00) >> 8) | (((x) & 0x00FF) << 8)
=> (bswap x) >> 16
2. ((x&0xff)<<8)|((x&0xff00)>>8)|((x&0xff000000)>>8)|((x&0x00ff0000)<<8))
=> (rotl (bswap x) 16)
This allows us to eliminate most of the def : Pat patterns for ARM rev16
revsh instructions. It catches many more cases for ARM and x86.
rdar://9609108
llvm-svn: 133503
2011-06-21 06:01:08 +00:00
Andrew Trick
0f76c6afe8
indvars -disable-iv-rewrite: Adds support for eliminating identity
...
ops.
This is a rewrite of the IV simplification algorithm used by
-disable-iv-rewrite. To avoid perturbing the default mode, I
temporarily split the driver and created SimplifyIVUsersNoRewrite. The
idea is to avoid doing opcode/pattern matching inside
IndVarSimplify. SCEV already does it. We want to optimize with the
full generality of SCEV, but optimize def-use chains top down on-demand rather
than rewriting the entire expression bottom-up. This was easy to do
for operations that SCEV can prove are identity function. So we're now
eliminating bitmasks and zero extends this way.
A result of this rewrite is that indvars -disable-iv-rewrite no longer
requires IVUsers.
llvm-svn: 133502
2011-06-21 03:22:38 +00:00