Dan Gohman
cf20ac4fd1
Various AsmWriter output cleanups. Use WriteAsOperand instead of
...
PrintUnmangledNameSafely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78878 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13 01:36:44 +00:00
Chris Lattner
38cff389af
sink uniquing of sections out of MCContext into the ELF and PECOFF TLOF implementations.
...
MCContext no longer maintains a string -> section map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78874 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13 00:37:15 +00:00
Dale Johannesen
f991ecf723
Symbols with LinkerPrivateLinkage are weak.
...
This allows WebKit to build again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78872 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13 00:28:52 +00:00
Chris Lattner
873bc4ccfd
make PIC16 unique its own sections instead of having mcontext do it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78871 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13 00:26:52 +00:00
Chris Lattner
c9d31524ee
add some comments: MCContext owns the MCSections, but it bump pointer allocates
...
them, so it doesn't have to explicitly free them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78870 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13 00:21:53 +00:00
Chris Lattner
e309cfa0d8
reject invalid code like:
...
int x __attribute__((section("_foo, _bar"))) = 4;
int y __attribute__((section("_foo, _bar, 4byte_literals"))) = 1;
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78867 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13 00:05:07 +00:00
Chris Lattner
5dc47ff039
implement support for uniquing MachO sections.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78866 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 23:55:02 +00:00
Dan Gohman
9bf0b9bd44
Now that numbered types have their number printed, it's no longer
...
interesting to print the number in a comment. Numbered instructions
don't need their number in a comment either.
Also, tidy up newline printing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78865 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 23:54:22 +00:00
Chris Lattner
a462920ae0
some compiler don't get string from TLOF.h implicitly or something.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78864 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 23:53:59 +00:00
Chris Lattner
d3c4486f46
reduce #includage
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78860 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 23:34:27 +00:00
Dan Gohman
3845e50ede
Extend the AsmWriter to print unnamed numbered types as "%0 = type ..."
...
and unnamed numbered global variables as "@0 = global ...". Extend the
AsmParser to recognize these forms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78859 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 23:32:33 +00:00
Jim Grosbach
066dbb6415
Mark the callsite intrinsic such that the opimizers know it's not dead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78856 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 23:03:43 +00:00
Bob Wilson
af385baa1d
Recognize Neon VDUP shuffles during legalization instead of selection.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78852 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 22:54:19 +00:00
Bob Wilson
d8e1757eac
Recognize Neon VREV shuffles during legalization instead of selection.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78850 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 22:31:50 +00:00
Bob Wilson
36e3e668be
Add a new "SDTCisVec" SDTypeConstraint. This complements the vAny type.
...
There have been a few times where I've wanted this but ended up leaving the
operand type unconstrained. It is easy to add this now and should help
catch errors in the future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78849 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 22:30:59 +00:00
Dan Gohman
a9ad04191c
This void is implicit in C++.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78848 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 22:10:57 +00:00
David Goodwin
2ffb0ce7dc
Fix counting of Post-RA scheduling stalls. Improve debug output.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78843 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 21:47:46 +00:00
Bob Wilson
755cbe0db1
Add some release notes about ARM v7 support and known problems.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78842 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 21:19:49 +00:00
Lang Hames
f7c553e993
Added RegisterCoalescer to required passes for PBQP.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78840 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 21:04:53 +00:00
Dan Gohman
46d505647d
Use WriteAsOperand to print BasicBlock names.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78838 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 20:56:56 +00:00
Dan Gohman
1220e10f70
Make AsmWriter more careful with formatted_raw_ostream so that
...
it doesn't leave the underlying stream in unbuffered mode when
the stream was originally buffered.
Also, change WriteAsOperand back to plain raw_ostream. This
lets it work for either formatted_raw_ostream or plain
raw_ostream, so that it doesn't have to force a buffer flush
on a plain raw_ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78837 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 20:56:03 +00:00
Dan Gohman
f3e488476e
Add a GetBufferSize() member to raw_ostream and use it to
...
simplify some formatted_raw_ostream code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78836 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 20:52:45 +00:00
Bob Wilson
114a266c94
Generate Neon VTBL and VTBX instructions from the corresponding intrinsics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78835 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 20:51:55 +00:00
Dan Gohman
a6340628c2
Use PadToColumn instead of tabs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78834 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 18:55:32 +00:00
Dan Gohman
e45da0dce0
Fix a few more places to use PadToColumn instead of tabs. And fix
...
the basic block label printing to check whether a block has a name
before printing a comment character and whitespace for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78830 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 18:47:05 +00:00
Evan Cheng
3aaccffbce
PredCC is meant to be 2 bits wide, like PredCC1.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78829 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 18:35:50 +00:00
Dan Gohman
a12e9d751b
Use PadToColumn instead of tabs for aligning comments. Fix one place
...
that emitted unnecessary whitespace outside of VerboseAsm mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78828 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 18:32:22 +00:00
David Goodwin
1a8f36e3ce
Enhance the InstrStage object to enable the specification of an Itinerary with overlapping stages. The default is to maintain the current behavior that the "next" stage immediately follows the previous one.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78827 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 18:31:53 +00:00
Dale Johannesen
4e97a0f0cb
Add attempted idiotproofing comment per review.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78825 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 18:04:11 +00:00
Chris Lattner
a79eefd4f8
improve win32 path support, patch by Baptiste Lepilleur!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78823 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 17:47:06 +00:00
Dale Johannesen
871fc2eaa0
Test for 78821, sort of. While that bug is nondeterministic,
...
this test failed consistently on a Darwin build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78822 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 17:43:47 +00:00
Dale Johannesen
39c177d8b7
Fix a nondeterministic bug in APInt::roundToDouble;
...
when !isSingleWord() but getActiveBits() is small,
we were using the pointer value instead of the low
word of the integer value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78821 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 17:42:34 +00:00
Dan Gohman
6b018979da
Fix whitespace expectations to match the new AsmWriter behavior.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78819 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 17:39:04 +00:00
Jim Grosbach
bff392384d
Add catch block handling to SjLj exception handling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78817 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 17:38:44 +00:00
Dan Gohman
683e922d29
Make LLVM Assembly dramatically easier to read by aligning the comments,
...
using formatted_raw_ostream's PadToColumn.
Before:
bb1: ; preds = %bb
%2 = sext i32 %i.01 to i64 ; <i64> [#uses=1]
%3 = getelementptr double* %p, i64 %2 ; <double*> [#uses=1]
%4 = load double* %3, align 8 ; <double> [#uses=1]
%5 = fmul double %4, 1.100000e+00 ; <double> [#uses=1]
%6 = sext i32 %i.01 to i64 ; <i64> [#uses=1]
%7 = getelementptr double* %p, i64 %6 ; <double*> [#uses=1]
After:
bb1: ; preds = %bb
%2 = sext i32 %i.01 to i64 ; <i64> [#uses=1]
%3 = getelementptr double* %p, i64 %2 ; <double*> [#uses=1]
%4 = load double* %3, align 8 ; <double> [#uses=1]
%5 = fmul double %4, 1.100000e+00 ; <double> [#uses=1]
%6 = sext i32 %i.01 to i64 ; <i64> [#uses=1]
%7 = getelementptr double* %p, i64 %6 ; <double*> [#uses=1]
Several tests required whitespace adjustments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78816 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 17:23:50 +00:00
Bob Wilson
9f7d60f460
Fix TableGen warnings. This partly reverts my previous change to this file,
...
leaving the mayLoad and mayStore settings around only the load/store
instructions where those can't be inferred from the patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78815 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 17:04:56 +00:00
Dan Gohman
0c0932f5e2
Fix a missing newline (now that Value*'s operator<< doesn't append one).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78814 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 16:48:27 +00:00
Chris Lattner
bfbc1de72f
change CBE to just get TAI now, instead of TM to get TAI.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78813 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 16:41:44 +00:00
Dan Gohman
9ca9daad21
Transform -X/C to X/-C, implementing a README.txt entry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78812 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 16:37:02 +00:00
Dan Gohman
fa94b948d9
Optimize (x/C)*C to x if the division is exact.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78811 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 16:33:09 +00:00
Dan Gohman
2df6e6467f
Update instcombine's debug output to account for Value*'s operator<<
...
not appending its own newline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78810 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 16:28:31 +00:00
Dan Gohman
4ae5126d04
Remove a bunch more now-unnecessary Context arguments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78809 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 16:23:25 +00:00
Dan Gohman
186a636b68
Eliminate a bunch of now unnecessary explicit Context variables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78808 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 16:04:34 +00:00
Oscar Fuentes
933849324e
CMake: Added asm file to x86_64 MSVC build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78807 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 15:54:28 +00:00
Jim Grosbach
378756c0f2
register naming cleanup (s/ip/r12/)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78806 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 15:21:13 +00:00
Benjamin Kramer
5232f418c6
Fix unit test on FreeBSD. We need to make sure there is enough space to save the pointer even if the memory returned from malloc was already aligned.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78805 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 12:31:02 +00:00
Gabor Greif
e2b16504be
catch a typo and simplify call syntax
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78804 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 09:05:11 +00:00
Gabor Greif
9befba80be
here comes the CMAKE part on LLVM_COMPACT_SENTINELS; see also r78628 and r78661
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78803 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 08:37:37 +00:00
Chris Lattner
a7ac47cee1
Change TargetAsmInfo to be constructed via TargetRegistry from a Target+Triple
...
pair instead of from a virtual method on TargetMachine. This cuts the final
ties of TargetAsmInfo to TargetMachine, meaning that MC can now use
TargetAsmInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78802 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 07:22:17 +00:00
Chris Lattner
54d26fa799
one last (?) bad x86 triple test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78801 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 06:49:44 +00:00