Chris Lattner
1518c64a23
llvm/Support/Streams.h is now dead, zap it.
...
llvm-svn: 79865
2009-08-23 21:50:26 +00:00
Chris Lattner
f31ef09249
Switch SubtargetFeature off of ostreams
...
llvm-svn: 79864
2009-08-23 21:41:43 +00:00
Chris Lattner
b9f25f9e19
eliminate the ostream version of CheckBitcodeOutputToConsole,
...
change the raw_ostream one to take the raw_ostream byref instead
of byptr. Prune #includes, eliminate a use of Streams.h
llvm-svn: 79863
2009-08-23 21:36:09 +00:00
Daniel Dunbar
47a309c5ca
Fix off-by-one in llvm::Format::print.
...
- This also shortens the Format.h implementation, and uses the print buffer
fully (it was wasting a character).
- This manifested as llvm-test failures, because one side effect was that
raw_ostream would write garbage '\x00' values into the output stream if it
happened that the string was at the end of the buffer. This meant that grep
would report 'Binary file matches', which meant the silly pattern matching
llvm-test eventually does would fail. Cute. :)
llvm-svn: 79862
2009-08-23 20:31:39 +00:00
Jim Grosbach
1b0436bd1b
SJLJ pass needs to punt if there's no personality function available.
...
llvm-svn: 79858
2009-08-23 18:13:48 +00:00
Chris Lattner
36b3caf9c0
clean up #includes.
...
llvm-svn: 79857
2009-08-23 18:09:02 +00:00
Daniel Dunbar
a9e1d3f065
Rerevert (r75663 and r76805), seems there is more non-determinism.
...
llvm-svn: 79856
2009-08-23 17:26:24 +00:00
Jakob Stoklund Olesen
972c8fab51
Fix PR4753.
...
When undoing a reuse in ReuseInfo::GetRegForReload, check if it was only a
sub-register being used. The MachineOperand::getSubReg() method is only valid
for virtual registers, so we have to recover the sub-register index manually.
llvm-svn: 79855
2009-08-23 13:01:45 +00:00
Benjamin Kramer
940fbb0e3c
Remove Streams.h from the targets.
...
llvm-svn: 79853
2009-08-23 11:52:17 +00:00
Benjamin Kramer
1a25d733f9
Kill off more cerr/cout uses and prune includes a bit.
...
llvm-svn: 79852
2009-08-23 11:37:21 +00:00
Daniel Dunbar
2982196fca
Speculatively revert r76823 (i.e., reapply r75663 and r76805) to see if the real
...
problem is fixed by the TableGen determinism fix.
llvm-svn: 79851
2009-08-23 10:44:51 +00:00
Benjamin Kramer
c2dbd5d671
Try to fix MSVC build after r79846.
...
llvm-svn: 79850
2009-08-23 10:39:21 +00:00
Daniel Dunbar
5e0a58bef4
Fix -Asserts warnings.
...
llvm-svn: 79849
2009-08-23 10:29:55 +00:00
Benjamin Kramer
c9aa480832
Remove uses of Streams.h from CommandLine.cpp, fix some whitespace and other minor tweaks.
...
llvm-svn: 79847
2009-08-23 10:01:13 +00:00
Daniel Dunbar
ced008152f
Fix non-determinism in DAGISel emitter.
...
- This manifested as non-determinism in the .inc output in rare cases (when two
distinct patterns ended up being equivalent, which is rather rare). That
meant the pattern matching was non-deterministic, which could eventually mean
the code generator selected different instructions based on the arch.
- It's probably worth making the DAGISel ensure a total ordering (or force the
user to), but the simple fix here is to totally order the Record* maps based
on a unique ID.
- PR4672, PR4711.
Yay:
--
ddunbar@giles:~$ cat ~/llvm.obj.64/lib/Target/*/*.inc | shasum
d1099ff34b21459a5a3e7021c225c080e6017ece -
ddunbar@giles:~$ cat ~/llvm.obj.ppc/lib/Target/*/*.inc | shasum
d1099ff34b21459a5a3e7021c225c080e6017ece -
--
llvm-svn: 79846
2009-08-23 09:47:37 +00:00
Benjamin Kramer
b451afb5f2
Fix windows build.
...
llvm-svn: 79845
2009-08-23 08:57:52 +00:00
Daniel Dunbar
34ee203337
Fix some refactos for iostream changes (in -Asserts mode).
...
- The world needs better C++ refactoring tools, can I get an Amen!?
llvm-svn: 79843
2009-08-23 08:50:52 +00:00
Chris Lattner
471ba48cb9
remove some uses of llvm/Support/Streams.h
...
llvm-svn: 79842
2009-08-23 08:43:55 +00:00
Chris Lattner
6973395cc7
eliminate the std::ostream forms of the bitcode writing APIs.
...
llvm-svn: 79840
2009-08-23 07:49:08 +00:00
Chris Lattner
91922253c5
remove uses of llvm/Support/Streams.h.
...
llvm-svn: 79838
2009-08-23 07:33:14 +00:00
Chris Lattner
d04d9102ab
use raw_fd_ostream instead of fstream with graphwriter,
...
flush the right stream in opt.cpp.
llvm-svn: 79837
2009-08-23 07:31:22 +00:00
Chris Lattner
4883d90396
convert LoopInfo.h and GraphWriter.h to use raw_ostream
...
llvm-svn: 79836
2009-08-23 07:19:13 +00:00
Chris Lattner
7e3cfe35ff
eliminate DOUT and make Debug.h not include Streams.h anymore, woo!
...
llvm-svn: 79835
2009-08-23 07:05:39 +00:00
Chris Lattner
317dbbcfb1
eliminate uses of cerr()
...
llvm-svn: 79834
2009-08-23 07:05:07 +00:00
Chris Lattner
af29ea6d57
eliminate the last DOUTs from the targets.
...
llvm-svn: 79833
2009-08-23 06:49:22 +00:00
Chris Lattner
4dc3edde9f
remove a few DOUTs here and there.
...
llvm-svn: 79832
2009-08-23 06:35:02 +00:00
Chris Lattner
dbbdc79267
convert all the constant range EXPECT_EQ tests to use EXPECT_TRUE since
...
ConstantRange doesn't have an std::ostream inserter anymore.
llvm-svn: 79831
2009-08-23 06:32:25 +00:00
Chris Lattner
1362602eb2
Change Pass::print to take a raw ostream instead of std::ostream,
...
update all code that this affects.
llvm-svn: 79830
2009-08-23 06:03:38 +00:00
Douglas Gregor
22f8ecf0cb
Don't install the man page for FileCheck
...
llvm-svn: 79826
2009-08-23 05:24:49 +00:00
Chris Lattner
b1d782bec9
eliminate the std::ostream form of WriteAsOperand and update clients.
...
This also updates dominator related stuff.
llvm-svn: 79825
2009-08-23 05:17:37 +00:00
Chris Lattner
3924bb5792
remove the std::ostream version of module and type printing.
...
llvm-svn: 79823
2009-08-23 04:52:46 +00:00
Chris Lattner
be354a66d3
upgrade for removed functions.
...
llvm-svn: 79822
2009-08-23 04:47:35 +00:00
Chris Lattner
34822f6ec7
remove some DOUTs
...
llvm-svn: 79821
2009-08-23 04:44:11 +00:00
Douglas Gregor
11eaeef9d3
Don't install FileCheck or FileUpdate
...
llvm-svn: 79820
2009-08-23 04:39:38 +00:00
Chris Lattner
b25de3ff60
eliminate the "Value" printing methods that print to a std::ostream.
...
This required converting a bunch of stuff off DOUT and other cleanups.
llvm-svn: 79819
2009-08-23 04:37:46 +00:00
Tanya Lattner
82e57a6b48
Update release document with more details.
...
llvm-svn: 79818
2009-08-23 04:36:30 +00:00
Owen Anderson
3fb4aabc06
Use standard LLVM-style headers.
...
llvm-svn: 79817
2009-08-23 04:24:24 +00:00
Chris Lattner
78683a7013
switch a couple things off std::ostream
...
llvm-svn: 79816
2009-08-23 04:02:03 +00:00
Chris Lattner
213a9f933d
switch from std::ostream to raw ostream, fix file header.
...
llvm-svn: 79815
2009-08-23 03:56:06 +00:00
Chris Lattner
d99f1c6fa2
shoot a few more std::ostream print methods in the head.
...
llvm-svn: 79814
2009-08-23 03:47:42 +00:00
Chris Lattner
a6f074fb3a
remove various std::ostream version of printing methods from
...
MachineInstr and MachineOperand. This required eliminating a
bunch of stuff that was using DOUT, I hope that bill doesn't
mind me stealing his fun. ;-)
llvm-svn: 79813
2009-08-23 03:41:05 +00:00
Chris Lattner
ed03a01af1
remove some DOUTs
...
llvm-svn: 79812
2009-08-23 03:20:44 +00:00
Chris Lattner
565449d79e
remove std::ostream versions of printing stuff for MBB and MF,
...
upgrading a few things to use raw_ostream
llvm-svn: 79811
2009-08-23 03:13:20 +00:00
Chris Lattner
abd1736998
simplify output file selection, fixing two FIXMEs about binary output
...
llvm-svn: 79808
2009-08-23 02:56:05 +00:00
Chris Lattner
9e6f1f160a
Change raw_fd_ostream to take flags as an optional bitmask
...
instead of as two bools. Use this to add a F_Append flag
which has the obvious behavior.
Other unrelated changes conflated into this patch:
1. REmove EH stuff from llvm-dis and llvm-as, the try blocks
are dead.
2. Simplify the filename inference code in llvm-as/llvm-dis,
because raw_fd_ostream does the right thing with '-'.
3. Switch machine verifier to use raw_ostream instead of ostream
(Which is the thing that needed append in the first place).
llvm-svn: 79807
2009-08-23 02:51:22 +00:00
Chris Lattner
f7a6745bb7
This was supposed to go with r79803
...
llvm-svn: 79804
2009-08-23 01:13:09 +00:00
Chris Lattner
22d4bfc23e
convert some stuff to work on raw_ostreams instead of std::ostream.
...
llvm-svn: 79803
2009-08-23 01:12:47 +00:00
Chris Lattner
3f6b57c809
fix a gone file.
...
llvm-svn: 79802
2009-08-23 01:11:21 +00:00
Chris Lattner
75f4045867
remove some dead print method variants.
...
llvm-svn: 79801
2009-08-23 01:03:30 +00:00
Chris Lattner
7472571531
convert the DIE printing stuff to use raw_ostream instead of std::ostream.
...
Tweak #includes.
llvm-svn: 79800
2009-08-23 01:01:17 +00:00
Chris Lattner
fd90b168ba
random code cleanups.
...
llvm-svn: 79798
2009-08-23 00:51:47 +00:00
Chris Lattner
81e8e02e2f
remove some random indentation stuff, yay for efficiency.
...
llvm-svn: 79797
2009-08-23 00:51:00 +00:00
Chris Lattner
1216f54276
remove dead PrefixPrinter class.
...
llvm-svn: 79796
2009-08-23 00:47:04 +00:00
Chris Lattner
1f28992886
remove a dead class.
...
llvm-svn: 79795
2009-08-23 00:42:42 +00:00
Chris Lattner
af119ca368
random cleanups.
...
llvm-svn: 79794
2009-08-23 00:35:30 +00:00
Eli Friedman
79ba8f2edc
Add check for completeness. Note that this doesn't actually have any
...
effect with the way the current code is structured.
llvm-svn: 79792
2009-08-23 00:14:19 +00:00
Chris Lattner
ba4bd50a80
switch formattedstream to use raw_ostream::indent. This eliminates
...
the weird MAX_COLUMN_PAD limitation.
llvm-svn: 79785
2009-08-22 23:16:09 +00:00
Chris Lattner
e6db2c338b
add a raw_ostream::indent method, to be used like:
...
OS.indent(i) << "whatever";
people seem to like indenting things ;-)
llvm-svn: 79784
2009-08-22 23:10:29 +00:00
Benjamin Kramer
f7b571726a
Forgot to update some CMakeLists.
...
llvm-svn: 79780
2009-08-22 22:20:11 +00:00
Benjamin Kramer
4db6267a2c
Update CMake build, unbreak linux build.
...
llvm-svn: 79779
2009-08-22 22:07:08 +00:00
Chris Lattner
54f550c9cc
fix a build error on the clang-i686-linux tester.
...
llvm-svn: 79778
2009-08-22 21:45:03 +00:00
Chris Lattner
e9a75a6654
rename TAI -> MAI, being careful not to make MAILJMP instructions :)
...
llvm-svn: 79777
2009-08-22 21:43:10 +00:00
Chris Lattner
a185b72902
mcasminfo doesn't use std::string
...
llvm-svn: 79774
2009-08-22 21:05:21 +00:00
Chris Lattner
054574666a
rename COFFMCAsmInfo -> MCAsmInfoCOFF, likewise for darwin.
...
llvm-svn: 79773
2009-08-22 21:03:30 +00:00
Tanya Lattner
c372077201
Regenerate configure.
...
llvm-svn: 79772
2009-08-22 21:01:26 +00:00
Tanya Lattner
fd5add5e19
Update copyright date.
...
llvm-svn: 79771
2009-08-22 21:00:33 +00:00
Chris Lattner
2b9f0d100b
move the MCAsmInfo .cpp/.h files into the right
...
directories and rename them.
llvm-svn: 79768
2009-08-22 20:58:17 +00:00
Chris Lattner
757dd1cd93
revert 79764, my dependencies failed me again.
...
llvm-svn: 79767
2009-08-22 20:56:12 +00:00
Bill Wendling
e7baa8e970
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79766
2009-08-22 20:54:03 +00:00
Bill Wendling
058687e360
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79765
2009-08-22 20:52:46 +00:00
Chris Lattner
df16c223da
remove dead member.
...
llvm-svn: 79764
2009-08-22 20:50:18 +00:00
Chris Lattner
7b26fce23e
Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.
...
llvm-svn: 79763
2009-08-22 20:48:53 +00:00
Bill Wendling
259717287a
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79762
2009-08-22 20:46:59 +00:00
Bill Wendling
214ac545ab
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79760
2009-08-22 20:41:06 +00:00
Bill Wendling
ea2559a7be
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79759
2009-08-22 20:40:21 +00:00
Bill Wendling
fc8f54be92
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79758
2009-08-22 20:38:09 +00:00
Bill Wendling
cddba739f9
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79756
2009-08-22 20:30:53 +00:00
Bill Wendling
63aa000052
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79755
2009-08-22 20:26:23 +00:00
Bill Wendling
8781b35be5
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79754
2009-08-22 20:25:44 +00:00
Bill Wendling
8d64226efe
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79753
2009-08-22 20:23:49 +00:00
Bill Wendling
dfcc42fa39
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79752
2009-08-22 20:18:03 +00:00
Bill Wendling
fb36316730
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79751
2009-08-22 20:11:17 +00:00
Bill Wendling
a2c4594997
Normalize how the 'namespace llvm {' is used in this file.
...
llvm-svn: 79750
2009-08-22 20:08:44 +00:00
Bill Wendling
bde8a4c6c9
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79749
2009-08-22 20:07:03 +00:00
Bill Wendling
b447173dc3
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79748
2009-08-22 20:04:03 +00:00
Bill Wendling
c3f05e854a
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79747
2009-08-22 20:03:00 +00:00
Chris Lattner
ca098517a3
prune some redundant #includes.
...
llvm-svn: 79746
2009-08-22 19:35:08 +00:00
Chris Lattner
8f816e7d68
tweak #includes
...
llvm-svn: 79744
2009-08-22 19:19:12 +00:00
Devang Patel
0939595711
Record variable debug info at ISel time directly.
...
llvm-svn: 79742
2009-08-22 17:12:53 +00:00
Anton Korobeynikov
f0d31ab7b8
Some dummy cost model for s390x:
...
- Prefer short-imm instructions over ext-imm, when possible
- Prefer Z10 instructions over Z9, when possible
This hopefully should fix some dejagnu test fails on solaris
llvm-svn: 79741
2009-08-22 11:46:16 +00:00
Daniel Dunbar
d1859474a7
llvm-mc/Mach-O: Improve symbol table support:
...
- Honor .globl.
- Set symbol type and section correctly ('nm' now works), and order symbols
appropriately.
- Take care to the string table so that the .o matches 'as' exactly (for ease
of testing).
llvm-svn: 79740
2009-08-22 11:41:10 +00:00
Daniel Dunbar
ff3eafd39d
llvm-mc/Mach-O: Sketch symbol table support.
...
- The only .s syntax this honors right now is emitting labels, and some parts
of the symbol table generation are wrong or faked.
- This is enough to get nm to report such symbols... incorrectly, but still.
Also, fixed byte emission to extend the previous fragment if possible.
llvm-svn: 79739
2009-08-22 10:13:24 +00:00
Daniel Dunbar
db52f9c650
Fix typo.
...
llvm-svn: 79738
2009-08-22 10:09:17 +00:00
Daniel Dunbar
87671b7fdc
Force triple for these tests.
...
llvm-svn: 79737
2009-08-22 09:45:43 +00:00
Daniel Dunbar
4bca5aef61
llvm-mc: Hopefully fix Mach-O tests on big-endian platforms, force values to be
...
converted to Python ints if possible.
llvm-svn: 79736
2009-08-22 09:28:33 +00:00
Daniel Dunbar
38728fe481
llvm-mc/Mach-O: Move more logic for writing the Mach-O file into the writer
...
class, and kill off MCSectionData::FileOffset.
llvm-svn: 79735
2009-08-22 08:28:27 +00:00
Daniel Dunbar
fef19ffe3a
llvm-mc: Rename / redefine MCFragment::FileOffset to MCFragment::Offset (the
...
section offset).
llvm-svn: 79734
2009-08-22 08:27:54 +00:00
Daniel Dunbar
6860ac7375
llvm-mc: Clean up some handling of symbol/section association to be more correct
...
(external was really undefined and there wasn't an explicit representation for
absolute symbols).
- This still needs some cleanup to how the absolute "pseudo" section is dealt
with, but I haven't figured out the nicest approach yet.
llvm-svn: 79733
2009-08-22 07:22:36 +00:00
Douglas Gregor
81c0524102
CMake: Don't use copy_if_different for TableGen output, because it does not work with IDE targets
...
llvm-svn: 79732
2009-08-22 07:00:18 +00:00
Owen Anderson
63010bb65a
Reapply r79708 with the appropriate fix for the case that still requires locking.
...
llvm-svn: 79731
2009-08-22 06:32:36 +00:00
Douglas Gregor
cd44daddf6
TOT is 2.7svn for CMake, too
...
llvm-svn: 79730
2009-08-22 06:30:31 +00:00
Daniel Dunbar
eec2d9276d
Change SmallString::operator{=,+=} to take a StringRef.
...
llvm-svn: 79729
2009-08-22 06:06:46 +00:00
Tanya Lattner
b1e4babbb1
Regenerate configure for 2.7svn
...
llvm-svn: 79726
2009-08-22 04:37:30 +00:00
Tanya Lattner
57c5711c6b
TOT is now 2.7svn
...
llvm-svn: 79725
2009-08-22 04:33:54 +00:00
Chris Lattner
56d60eaa61
revert r79708 + r79711
...
llvm-svn: 79720
2009-08-22 04:07:34 +00:00
Eli Friedman
682d8c1881
Make x86 test actually test x86 code generation. Fix the
...
construct on ARM, which was breaking by coincidence, and add a similar
testcase for ARM.
llvm-svn: 79719
2009-08-22 03:13:10 +00:00
Bob Wilson
abd97fe1b1
Add new intrinsics for Neon vldN_lane and vstN_lane operations.
...
llvm-svn: 79716
2009-08-22 02:28:46 +00:00
Edward O'Callaghan
a16e4b7380
Note down a few bits and bobs off the top of my head for ReleaseNotes-2.6.html
...
llvm-svn: 79715
2009-08-22 02:17:22 +00:00
Jim Grosbach
8a2cfcba0c
Add basic information about SJLJ EH
...
llvm-svn: 79714
2009-08-22 01:42:39 +00:00
Chris Lattner
f09250f1b1
rename test, make more specific.
...
llvm-svn: 79712
2009-08-22 00:44:24 +00:00
Eric Christopher
677c2287da
Actually remove unused static. Previous commit removed trailing
...
whitespace.
llvm-svn: 79711
2009-08-22 00:41:47 +00:00
Eric Christopher
dfda92b76e
Remove unused static.
...
llvm-svn: 79710
2009-08-22 00:40:45 +00:00
Owen Anderson
8e2456c254
Ease contention on this lock by noticing that all writes to the VTs array will
...
be of (dynamically) constant values, so races on it are immaterial. We just need
to ensure that at least one write has completed before return the pointer into it.
With this change, parllc exhibits essentially no overhead on 403.gcc.
llvm-svn: 79708
2009-08-22 00:29:12 +00:00
Anton Korobeynikov
48e4a6c739
Add missing RUN line
...
llvm-svn: 79707
2009-08-22 00:28:50 +00:00
Anton Korobeynikov
5f47ecb918
Reduce the test
...
llvm-svn: 79703
2009-08-22 00:18:11 +00:00
Bob Wilson
616335f6c1
Use CHECK-NEXT to make sure we're only getting one copy of each shuffle
...
instruction.
llvm-svn: 79702
2009-08-22 00:13:23 +00:00
Eric Christopher
c8f625b1eb
Make unit-at-a-time on by default to match the behavior of llvm-gcc.
...
llvm-svn: 79698
2009-08-21 23:30:30 +00:00
Daniel Dunbar
67dfb1de23
llvm-mc: Improve handling of implicit alignment for magic section directives
...
(e.g., .objc_message_refs).
- Just emit a .align when we see the directive; this isn't exactly what 'as'
does but in practice it should be ok, at least for now. See FIXME.
llvm-svn: 79697
2009-08-21 23:30:15 +00:00
Eric Christopher
e64061f675
Kill trailing whitespace.
...
llvm-svn: 79696
2009-08-21 23:29:40 +00:00
Chris Lattner
a7668ff636
Revert r79563
...
llvm-svn: 79691
2009-08-21 23:12:47 +00:00
Chris Lattner
773416e062
revert r79562 + r79563
...
llvm-svn: 79690
2009-08-21 23:12:15 +00:00
Daniel Dunbar
c906d17973
Make MSVC happy.
...
llvm-svn: 79689
2009-08-21 23:11:36 +00:00
Anton Korobeynikov
876955cbb0
Fix typo.
...
llvm-svn: 79688
2009-08-21 23:09:47 +00:00
Chris Lattner
f407dbbb1a
revert r79631
...
llvm-svn: 79686
2009-08-21 23:08:45 +00:00
Chris Lattner
6af22f02ef
revert 79631
...
llvm-svn: 79685
2009-08-21 23:08:09 +00:00
Daniel Dunbar
b1068e4fe3
llvm-mc/Mach-O: Support .o emission for .org and .align.
...
llvm-svn: 79684
2009-08-21 23:07:38 +00:00
Daniel Dunbar
4abcccb965
llvm-mc: In a .fill directive, still honor .align even if invalid maximum bytes
...
count is given (this matches 'as').
llvm-svn: 79683
2009-08-21 23:01:53 +00:00
Anton Korobeynikov
13e8c7ef20
Implement APInt <-> APFloat conversion for IEEE 128-bit floats.
...
This fixes PR2555
llvm-svn: 79677
2009-08-21 22:10:30 +00:00
Bob Wilson
ceffeb6abd
Rename ARM "lane_cst" operands to "nohash_imm" since they are used for
...
several things other than Neon vector lane numbers. For inline assembly
operands with a "c" print code, check that they really are immediates.
llvm-svn: 79676
2009-08-21 21:58:55 +00:00
Reid Kleckner
48ca915be9
Fix a bug where the DWARF emitter in the JIT was not initializing alignment
...
bytes. libgcc doesn't seem to mind, but if you pass this DWARF to GDB, it
doesn't like it.
Also make the JIT memory manager to initialize it's memory to garbage in debug
mode, so that it's easier to find bugs like these in the future.
llvm-svn: 79674
2009-08-21 21:03:57 +00:00
Bob Wilson
a70623102e
Match VTRN, VZIP, and VUZP shuffles. Restore the tests for these operations,
...
now using shuffles instead of intrinsics.
llvm-svn: 79673
2009-08-21 20:54:19 +00:00
Anton Korobeynikov
f31a44ec01
Add fcopysign instructions
...
llvm-svn: 79664
2009-08-21 20:02:37 +00:00
Owen Anderson
2dd877d12a
Try again at privatizing the layout info map, with a rewritten patch.
...
This preserves the existing behavior much more closely than my previous attempt.
llvm-svn: 79663
2009-08-21 19:59:12 +00:00
Anton Korobeynikov
47398930e4
Expand few nodes until someone will be crazy enough to implement them natively :)
...
llvm-svn: 79659
2009-08-21 18:52:42 +00:00
Anton Korobeynikov
cb7444342b
Typo :(
...
llvm-svn: 79657
2009-08-21 18:41:02 +00:00
Anton Korobeynikov
81be4b345a
Correct instruction names for subtract-with-borrow
...
llvm-svn: 79656
2009-08-21 18:37:28 +00:00
Daniel Dunbar
4ef7fb9530
llvm-mc/Mach-O: Support byte and fill value emission.
...
llvm-svn: 79652
2009-08-21 18:29:01 +00:00
Dan Gohman
c0b967dfb4
Don't assume that the operand of an inttoptr is an pointer-sized integer.
...
llvm-svn: 79651
2009-08-21 18:27:26 +00:00
Bill Wendling
dff54eff8e
Fix typo. Should check both values of RangeUse for 0. Patch by Marius Wachtler.
...
llvm-svn: 79649
2009-08-21 18:16:06 +00:00
Anton Korobeynikov
a39f96c6ed
Handle 'r' inline asm constraint
...
llvm-svn: 79648
2009-08-21 18:15:41 +00:00
Bob Wilson
d1077fbab0
Fix a comment.
...
llvm-svn: 79643
2009-08-21 17:41:48 +00:00
Duncan Sands
08b437d600
Fix a problem noticed by gcc-4.4:
...
warning: comparison is always true due to limited range of data type.
llvm-svn: 79642
2009-08-21 17:16:10 +00:00
Dan Gohman
23e62c532c
Change getelementptr folding to use APInt instead of uint64_t for
...
offset computations. This fixes a truncation bug on targets that
don't have 64-bit pointers.
llvm-svn: 79639
2009-08-21 16:52:54 +00:00
Bob Wilson
f73af72d30
Add some tests for vext.16 and vext.32.
...
llvm-svn: 79638
2009-08-21 16:35:24 +00:00
Daniel Dunbar
2f0e8f55f5
Fix -Asserts warning.
...
llvm-svn: 79636
2009-08-21 16:17:36 +00:00
Daniel Dunbar
8e5edd81bb
llvm-mc: Accept .fill size of 8.
...
llvm-svn: 79635
2009-08-21 15:43:35 +00:00
Anton Korobeynikov
7950510b29
Fix a typo
...
llvm-svn: 79634
2009-08-21 15:41:56 +00:00
Andreas Neustifter
3fac9a4fc5
Removed profiling test, lli not available on all platforms.
...
llvm-svn: 79633
2009-08-21 15:27:35 +00:00
Sanjiv Gupta
9ae3bcb79e
Add a pass to do call graph analyis to overlay the autos and frame sections of
...
leaf functions. This pass will be extended to color other nodes of the call tree
as well in future.
llvm-svn: 79631
2009-08-21 15:22:33 +00:00
Benjamin Kramer
37fd02c5a1
Fix build on platforms where stdint.h is not implicitly included in the standard headers.
...
llvm-svn: 79629
2009-08-21 13:59:49 +00:00
Anton Korobeynikov
eaaca496c5
More cpp backend fixes. Now for FP stuff.
...
llvm-svn: 79626
2009-08-21 12:50:54 +00:00
Anton Korobeynikov
232b19c3d5
Fix some typos and use type-based isel for VZIP/VUZP/VTRN
...
llvm-svn: 79625
2009-08-21 12:41:42 +00:00
Anton Korobeynikov
9a232f46a8
Add lowering of ARM 4-element shuffles to multiple instructios via perfectshuffle-generated table.
...
llvm-svn: 79624
2009-08-21 12:41:24 +00:00
Anton Korobeynikov
84e24388cd
Add simple cost model to perfect shuffle. Currently we're doing just greedy search for cost instead of (proper) dynamic programming approach.
...
llvm-svn: 79623
2009-08-21 12:41:03 +00:00
Anton Korobeynikov
ce3ff1be8a
Add nodes & dummy matchers for some v{zip,uzp,trn} instructions
...
llvm-svn: 79622
2009-08-21 12:40:50 +00:00
Anton Korobeynikov
e3046618de
Expand EXTRACT_SUBVECTOR
...
llvm-svn: 79621
2009-08-21 12:40:35 +00:00
Anton Korobeynikov
38f284f2ae
Provide vext.{16,32}
...
llvm-svn: 79620
2009-08-21 12:40:21 +00:00
Anton Korobeynikov
c32e99e3ed
Use masks not nodes for vector shuffle predicates. Provide set of 'legal' masks, so legalizer won't infinite cycle
...
llvm-svn: 79619
2009-08-21 12:40:07 +00:00
Anton Korobeynikov
b539e06f28
Whitespace cleanup
...
llvm-svn: 79618
2009-08-21 12:39:38 +00:00
Benjamin Kramer
c20529945a
Update CMakeLists.
...
llvm-svn: 79617
2009-08-21 11:28:56 +00:00
Richard Pennington
9e0c4f50ec
bug 4530: Make debug information static to it is preservered during bitcode linking.
...
llvm-svn: 79616
2009-08-21 11:10:31 +00:00
Andreas Neustifter
f715778de9
Added tests for Profiling Infrastructure.
...
llvm-svn: 79615
2009-08-21 09:36:28 +00:00
Bill Wendling
2315a68054
Make for 32-bit only.
...
llvm-svn: 79614
2009-08-21 09:29:26 +00:00
Daniel Dunbar
3016db39dd
llvm-mc: Start MCAssembler and MCMachOStreamer.
...
- Together these form the (Mach-O) back end of the assembler.
- MCAssembler is the actual assembler backend, which is designed to have a
reasonable API. This will eventually grow to support multiple object file
implementations, but for now its Mach-O/i386 only.
- MCMachOStreamer adapts the MCStreamer "actions" API to the MCAssembler API,
e.g. converting the various directives into fragments, managing state like
the current section, and so on.
- llvm-mc will use the new backend via '-filetype=obj', which may eventually
be, but is not yet, since I hear that people like assemblers which actually
assemble.
- The only thing that works at the moment is changing sections. For the time
being I have a Python Mach-O dumping tool in test/scripts so this stuff can
be easily tested, eventually I expect to replace this with a real LLVM tool.
- More doxyments to come.
I assume that since this stuff doesn't touch any of the things which are part of
2.6 that it is ok to put this in not so long before the freeze, but if someone
objects let me know, I can pull it.
llvm-svn: 79612
2009-08-21 09:11:24 +00:00
Daniel Dunbar
9df5f33818
llvm-mc: Various section parsing fixes.
...
- Add missing flags for various Objective-C sections.
- Fix names for [non_]lazy_symbol_pointer (these are misspelled in the manual).
- .symbol_stub does not have the self modifying code flag set (this appears to
be wrong in the manual?).
- Add implicit alignment values; not yet used.
Also, call MCStreamer::Finish at the end of a successful parse.
llvm-svn: 79611
2009-08-21 08:34:18 +00:00
Bill Wendling
84d3389d7d
Probably should emit bitcode instead of text.
...
llvm-svn: 79607
2009-08-21 08:02:19 +00:00
Daniel Dunbar
ad8b653f93
Don't install llvm-mc by default.
...
llvm-svn: 79604
2009-08-21 07:28:33 +00:00
Bill Wendling
64965aafe7
Remove #include <iostream>.
...
llvm-svn: 79603
2009-08-21 06:52:44 +00:00
Erick Tryzelaar
6096409238
Clean up the APInt function getDigit.
...
llvm-svn: 79602
2009-08-21 06:48:37 +00:00
Bill Wendling
ef793ccbdc
Correct for recent assert change.
...
llvm-svn: 79601
2009-08-21 06:35:41 +00:00
Bill Wendling
19e4d6b33c
Testcase for r79597.
...
llvm-svn: 79598
2009-08-21 06:12:30 +00:00
Eric Christopher
43a1decc8c
Update error messages for '+'. Fix grammar and make the two
...
negative checks resemble each other.
llvm-svn: 79595
2009-08-21 04:10:31 +00:00
Eric Christopher
820256bc99
Fix trailing whitespace and 80-col violation.
...
llvm-svn: 79594
2009-08-21 04:06:45 +00:00
Erick Tryzelaar
dadb1571b7
Fix bug with APInt::getBitsNeeded with for base 10 numbers 0-9.
...
llvm-svn: 79593
2009-08-21 03:15:28 +00:00
Erick Tryzelaar
1264bcb4de
Allow '+' to appear in APInt strings, and add more unit tests.
...
llvm-svn: 79592
2009-08-21 03:15:14 +00:00
Bob Wilson
51c7aa04ec
Remove Neon intrinsics for VZIP, VUZP, and VTRN. We will represent these as
...
vector shuffles. Temporarily remove the tests for these operations until the
new implementation is working.
llvm-svn: 79579
2009-08-21 00:01:42 +00:00
Owen Anderson
baa922cf16
Re-revert r79555. Apparently it's not just buildbot weirdness.
...
llvm-svn: 79578
2009-08-20 23:51:44 +00:00
Erick Tryzelaar
da666c801c
Add support for including '+' in APFloat strings, more asserts,
...
and many new unit tests.
llvm-svn: 79574
2009-08-20 23:30:43 +00:00
Owen Anderson
9ca906e69d
Reapply r79555 for testing. Daniel's trying to work out some buildbot weirdnesss.
...
llvm-svn: 79572
2009-08-20 23:14:20 +00:00
Dale Johannesen
fa2b97e61a
Use FileCheck even though this means testing for something
...
that has nothing to do with the point of the test, per Chris.
llvm-svn: 79569
2009-08-20 22:12:08 +00:00
Bill Wendling
e3836f99bf
--- Reverse-merging r79555 into '.':
...
U include/llvm/Target/TargetData.h
U lib/Target/TargetData.cpp
Temporarily revert 79555. It was causing hangs and test failures.
llvm-svn: 79568
2009-08-20 22:04:42 +00:00
Bill Wendling
0e749fe36b
Attempt to comment this code more.
...
llvm-svn: 79567
2009-08-20 22:02:24 +00:00
Daniel Dunbar
e7e865cf0b
Suppress build warning in -Asserts
...
llvm-svn: 79564
2009-08-20 20:01:34 +00:00
Sanjiv Gupta
a874d82492
part of the previous commit for PIC16 ISR implementation.
...
llvm-svn: 79563
2009-08-20 19:34:18 +00:00
Sanjiv Gupta
686e9f55dc
Implement support for ISRs.
...
Clone functions that are shared between the Main thread and Interrupt thread.
CallSites are changed in AsmPrinter currently. A better solution would have been to modify the legalizer (SoftenFloat) to allow targets to change the name of libcalls for float operations. But that currently breaks other targets.
Also, cloing of automatic variables is done AsmPrinter, a better approach would
be to use the ValueMap in CloneFunction itself.
llvm-svn: 79562
2009-08-20 19:28:24 +00:00
Owen Anderson
c1a3a471c4
Reduce contention on the Attributes lock by using atomic operations for reference counting rather than locking.
...
llvm-svn: 79560
2009-08-20 19:03:20 +00:00
Owen Anderson
d2354b8cc5
Make the StructType->StructLayout table private to TargetData, allowing us to avoid locking on it.
...
llvm-svn: 79555
2009-08-20 18:26:03 +00:00
Sean Callanan
46bb77f2cf
Fixed PCMPESTRM128 to have opcode 0x60 instead of 0x62, as specified by the
...
Intel documentation.
llvm-svn: 79554
2009-08-20 18:24:27 +00:00
Dan Gohman
05046085b6
Fix an x86 code size regression: prefer RIP-relative addressing
...
over absolute addressing even in non-PIC mode (unless the address
has an index or something else incompatible), because it has a
smaller encoding.
llvm-svn: 79553
2009-08-20 18:23:44 +00:00
Dan Gohman
e392e6236d
Add a comment explaining why llvm_unreachable_internal doesn't call
...
the ErrorHandler callback.
llvm-svn: 79541
2009-08-20 17:15:19 +00:00
Daniel Dunbar
bf5998edfb
Fix two APFloat bugs in converting hexadecimal constants.
...
llvm-svn: 79540
2009-08-20 17:12:33 +00:00
Dan Gohman
16f5415f5b
Rename hasNoUnsignedOverflow and hasNoSignedOverflow to hasNoUnsignedWrap
...
and hasNoSignedWrap, for consistency with the nuw and nsw properties.
llvm-svn: 79539
2009-08-20 17:11:38 +00:00
Dan Gohman
2de532c132
Clarify a few things in the inbounds description.
...
Describing inbounds in terms of infinitely precise arithmetic prohibits
the assumption address-space-sized integer arithmetic will wrap, with
a wrapped-around value landing within the same object.
llvm-svn: 79538
2009-08-20 17:08:17 +00:00
Misha Brukman
5851edb13e
Fixed header comment.
...
llvm-svn: 79536
2009-08-20 17:01:14 +00:00
Evan Cheng
01de985ae6
Fix an obvious copy-n-paste bug.
...
llvm-svn: 79535
2009-08-20 17:01:04 +00:00
Dale Johannesen
d16abc09c4
Use FileCheck for the test run where it's appropriate.
...
llvm-svn: 79534
2009-08-20 16:58:04 +00:00
Dan Gohman
8a8ad7d8e8
Various comment and whitespace cleanups.
...
llvm-svn: 79533
2009-08-20 16:42:55 +00:00
Dan Gohman
f91a992c30
Update and fix some comments.
...
llvm-svn: 79532
2009-08-20 16:27:10 +00:00
Benjamin Kramer
33599115ab
Add myself to the blame list.
...
llvm-svn: 79531
2009-08-20 15:20:15 +00:00
Sandeep Patel
ab7a751889
Correct ARM v7-A architecture name spelling and add note about hard float.
...
llvm-svn: 79530
2009-08-20 15:01:16 +00:00
Daniel Dunbar
4d28366342
Don't try to build .bc version of libprofile if LLVMGCC isn't available.
...
llvm-svn: 79514
2009-08-20 05:12:55 +00:00
Erick Tryzelaar
bef7f98896
Rename FirstExtendedValueType to INVALID_SIMPLE_VALUE_TYPE
...
as that's a bit more descriptive of what we're testing for.
llvm-svn: 79513
2009-08-20 05:09:43 +00:00
Daniel Dunbar
c2fdebe8af
Remove cruft for installing runtime/ libraries directly into the LLVMGCCDIR;
...
that is totally bogus.
llvm-svn: 79512
2009-08-20 05:02:41 +00:00
Chris Lattner
f6bb2a79f2
fix this back, thanks Eli
...
llvm-svn: 79508
2009-08-20 03:10:14 +00:00
Dan Gohman
61fcf3d8fe
Add some comments clarifying what appear to be the intent of various
...
error handling mechanisms. Please correct these if I've misunderstood
something.
llvm-svn: 79505
2009-08-20 01:46:24 +00:00
Dan Gohman
30584ea4a4
Reword a few comments for AnalyzeBranch and InsertBranch, and fix
...
a few typos.
llvm-svn: 79503
2009-08-20 01:33:25 +00:00
Jim Grosbach
8b4d51af58
Check for shared landing pads when assigning call site values. Invokes which
...
share a landing pad should also use the same call site value.
llvm-svn: 79501
2009-08-20 01:03:48 +00:00
Chris Lattner
2689c3be01
minor grammar tweak
...
llvm-svn: 79498
2009-08-20 00:29:24 +00:00
Dale Johannesen
aec3830ce7
Add an extra line to conform with preferred style.
...
llvm-svn: 79495
2009-08-19 23:44:01 +00:00
Reid Kleckner
5c51639e3e
Modify an assert to avoid what looks like a GCC 4.2.4 signed-ness bug.
...
llvm-svn: 79494
2009-08-19 23:39:59 +00:00
Dan Gohman
7167f42769
Fix a few places to check if TargetData is available before using it.
...
llvm-svn: 79493
2009-08-19 23:38:22 +00:00
Daniel Dunbar
cb13b48969
Add a fast path for setName("") on an unnamed value.
...
llvm-svn: 79492
2009-08-19 23:37:23 +00:00
Dan Gohman
463d3407e2
Loosen up the regex for this test so that it doesn't implicitly
...
depend on TargetData information.
llvm-svn: 79491
2009-08-19 23:19:36 +00:00
Dan Gohman
6e32e5cf0c
Add targetdata strings to these tests, since SimplifyLibCalls uses
...
TargetData to find the pointer size.
llvm-svn: 79490
2009-08-19 23:18:49 +00:00
Tanya Lattner
da94af763b
Update the release process some more. Lots of good details now.
...
llvm-svn: 79488
2009-08-19 23:07:37 +00:00
David Greene
62b666f0b8
Remove an unnecessary include. Now we won't have circular include
...
problems later on.
llvm-svn: 79487
2009-08-19 23:00:07 +00:00
Owen Anderson
d6f7af652e
AttrListPtr operations need to be atomic.
...
llvm-svn: 79486
2009-08-19 22:58:34 +00:00
Dan Gohman
c59ba42b0f
Fix a bug in the over-index constant folding. When over-indexing an
...
array member of a struct, it's possible to land in an arbitrary position
inside that struct, such that attempting to find further getelementptr
indices will fail. In such cases, folding cannot be done.
llvm-svn: 79485
2009-08-19 22:46:59 +00:00
Dale Johannesen
1d764f61ef
Handle 'a' modifier in X86 asms. PR 4742.
...
llvm-svn: 79484
2009-08-19 22:44:41 +00:00
Reid Kleckner
d72b091840
Fixed error in CPPBackend from a contextification API change.
...
llvm-svn: 79483
2009-08-19 22:38:37 +00:00
Daniel Dunbar
ca66226c31
Switch IRBuilder to using Twine references for names.
...
llvm-svn: 79482
2009-08-19 22:34:21 +00:00
David Greene
15aafbbfa5
Add missing forward declaration.
...
llvm-svn: 79481
2009-08-19 22:19:44 +00:00
David Greene
8230a93ae2
Add missing includes.
...
llvm-svn: 79480
2009-08-19 22:16:11 +00:00
David Greene
2806a1e528
Add missing includes.
...
llvm-svn: 79479
2009-08-19 22:08:26 +00:00
David Greene
ba540eb492
Add missing includes.
...
llvm-svn: 79478
2009-08-19 22:05:21 +00:00
Nicolas Geoffray
43cce2294c
Add a REQUIRES_FRAME_POINTER option to disable the frame pointer
...
elimination optimization on the LLVM code base.
llvm-svn: 79477
2009-08-19 22:04:44 +00:00
David Greene
40a0fbc1d0
Add missing includes.
...
llvm-svn: 79476
2009-08-19 22:02:07 +00:00
David Greene
8704780390
Add missing includes.
...
llvm-svn: 79475
2009-08-19 21:59:18 +00:00
David Greene
a5be1b174b
Add missing includes.
...
llvm-svn: 79474
2009-08-19 21:55:33 +00:00
David Greene
829b3e8b14
Add missing includes.
...
llvm-svn: 79473
2009-08-19 21:52:55 +00:00
Owen Anderson
a83e868078
Get rid of a helgrind warning. If this is _actually_ a performance problem,
...
we can find a way to cache the answer that isn't racy.
llvm-svn: 79472
2009-08-19 21:48:34 +00:00
David Greene
ddf20023d3
Add missing includes.
...
llvm-svn: 79469
2009-08-19 21:22:18 +00:00
David Greene
23a6b3b2d2
Add missing includes.
...
llvm-svn: 79468
2009-08-19 21:19:41 +00:00
David Greene
7b1a6671f8
Add missing includes.
...
llvm-svn: 79467
2009-08-19 21:17:28 +00:00
Daniel Dunbar
0e04394d97
Build runtime libraries by default.
...
llvm-svn: 79465
2009-08-19 21:09:45 +00:00
David Greene
d1a08de1f6
Add missing header.
...
llvm-svn: 79463
2009-08-19 20:52:54 +00:00
Eli Friedman
28c7bbf515
Add triple parsing support for TCE.
...
llvm-svn: 79461
2009-08-19 20:46:03 +00:00
Dan Gohman
081e2f955a
Unbreak GetBufferSize() on uninitialized streams. This fixes a problem
...
that led to errs() getting made buffered.
llvm-svn: 79458
2009-08-19 20:27:57 +00:00
Daniel Dunbar
8b0b11582d
Switch to SmallString::str from SmallString::c_str, and remove
...
SmallString::c_str.
llvm-svn: 79456
2009-08-19 20:07:03 +00:00
Daniel Dunbar
faea97193c
Add min and max tests.
...
llvm-svn: 79454
2009-08-19 19:58:19 +00:00
Daniel Dunbar
03d4b9eac4
Add SmallString::str (which returns a StringRef); this is more efficient than
...
c_str().
llvm-svn: 79453
2009-08-19 19:57:55 +00:00
Benjamin Kramer
902ccf22b4
Remove SmallString::append_*int* unit tests.
...
llvm-svn: 79451
2009-08-19 19:41:05 +00:00
Daniel Dunbar
339d0cbdd1
Remove SmallString::append_*int* methods; how many copies of int -> str
...
conversion code do we really need?
- S.append_uint(N) can be replaced with 'raw_svector_ostream(S) << N' which is
somewhat slower due to the extra set up cost, but still plenty fast
(especially if the svector set up cost can be amortized).
llvm-svn: 79450
2009-08-19 19:28:18 +00:00
Daniel Dunbar
948f82b8e4
Change ValueSymbolTable to use raw_svector_ostream for string concatenation.
...
llvm-svn: 79449
2009-08-19 19:22:52 +00:00
Bill Wendling
6c528bc7ae
Make this test platform neutral.
...
llvm-svn: 79447
2009-08-19 18:51:45 +00:00
Daniel Dunbar
e813cbaa21
Change raw_svector_ostream to reserve the input buffer if necessary, Ted was
...
right.
- This class turns out to be much more convenient to use if we do this; clients
can make sure the buffer is always big enough if they care (since our current
idiom tends to be to use a SmallString<256> for the input to this we should
generally be avoiding an unnecessary malloc).
Also, add a convenience raw_svector_ostream::str method which flushes the buffer
and returns a StringRef for the vector contents.
llvm-svn: 79446
2009-08-19 18:40:58 +00:00
Daniel Dunbar
45e5670ede
Fix typo
...
llvm-svn: 79445
2009-08-19 18:35:54 +00:00
Dan Gohman
de255fc8f6
Remove temporary testing code.
...
llvm-svn: 79443
2009-08-19 18:27:08 +00:00
Dan Gohman
915302c605
Make SROA and PredicateSimplifier cope if TargetData is not
...
available. This is very conservative for now.
llvm-svn: 79442
2009-08-19 18:22:18 +00:00
Dan Gohman
5d5bc6d000
Use hasDefinitiveInitializer() instead of testing the same thing
...
by hand, and fix a few places that were using hasInitializer() that
appear to depend on the initializer value.
llvm-svn: 79441
2009-08-19 18:20:44 +00:00
Dan Gohman
81ce842ecf
Canonicalize indices in a constantexpr GEP. If Indices exceed the
...
static extents of the static array type, it causes GlobalOpt and
other passes to be more conservative. This canonicalization also
allows the constant folder to add "inbounds" to GEPs.
llvm-svn: 79440
2009-08-19 18:18:36 +00:00
Dan Gohman
ac33a9061d
Add an x86 peep that narrows TEST instructions to forms that use
...
a smaller encoding. These kinds of patterns are very frequent in
sqlite3, for example.
llvm-svn: 79439
2009-08-19 18:16:17 +00:00
Daniel Dunbar
ea579e3d29
Switch Twine::str() to use toVector(), which is now efficient.
...
llvm-svn: 79437
2009-08-19 18:09:47 +00:00
David Goodwin
a7c2dfbca1
Update Cortex-A8 instruction itineraries for integer instructions.
...
llvm-svn: 79436
2009-08-19 18:00:44 +00:00
Owen Anderson
fe7bbc92e1
Add a first stab at describing LLVMContext.
...
llvm-svn: 79435
2009-08-19 17:58:52 +00:00
Daniel Dunbar
b090bf4626
Switch raw_svector_ostream to use the vector as the ostream buffer.
...
- This avoids unnecessary malloc/free overhead in the common case, and
unnecessary copying from the ostream buffer into the output vector.
llvm-svn: 79434
2009-08-19 17:54:29 +00:00
Daniel Dunbar
825e955e40
Add SmallVector::{capacity,set_size}.
...
- These allow clients to make use of the extra elements in the vector which
have already been allocated, without requiring them to be value initialized.
llvm-svn: 79433
2009-08-19 17:48:28 +00:00
Erick Tryzelaar
a5fbf27bc8
BasicBlock::getContext can no longer return a NULL so update the doc.
...
llvm-svn: 79432
2009-08-19 17:40:05 +00:00
Erick Tryzelaar
be86e9fd9a
Update the ocaml docs to work with LLVMContext.
...
llvm-svn: 79431
2009-08-19 17:32:38 +00:00
Erick Tryzelaar
8ce532bfea
Convert the rest of the ocaml types and functions to use context.
...
llvm-svn: 79430
2009-08-19 17:32:24 +00:00
Owen Anderson
6d549d6450
Reapply my less-lock-contention-in-leak-detector patch, now with new files
...
actually added.
llvm-svn: 79429
2009-08-19 17:07:46 +00:00
Bob Wilson
32cd8550ce
Add support for Neon VEXT (vector extract) shuffles.
...
This is derived from a patch by Anton Korzh. I modified it to recognize
the VEXT shuffles during legalization and lower them to a target-specific
DAG node.
llvm-svn: 79428
2009-08-19 17:03:43 +00:00
Daniel Dunbar
5c947db79c
Fix a commento.
...
llvm-svn: 79427
2009-08-19 16:25:53 +00:00
Daniel Dunbar
465de3e2be
Speculatively revert r79375, which may be breaking bootstrap, although in a
...
rather obscure way (the other candidate is r79377).
llvm-svn: 79426
2009-08-19 16:25:25 +00:00
David Goodwin
9b48cd4899
Use the schedule itinerary operand use/def cycle information to adjust dependence edge latency for post-RA scheduling.
...
llvm-svn: 79425
2009-08-19 16:08:58 +00:00
Sandeep Patel
f2c313a1f9
Test commit access with a first act of vanity.
...
llvm-svn: 79424
2009-08-19 15:07:40 +00:00
Duncan Sands
a21fe10c06
Fix cmake build on non-x86 targets. Patch by
...
Xerxes Rånby.
llvm-svn: 79419
2009-08-19 12:41:52 +00:00
Benjamin Kramer
47f6943a95
Proper MSVC build fix (and remove my hack again). Patch by Yonggang Luo.
...
llvm-svn: 79418
2009-08-19 12:38:51 +00:00
Benjamin Kramer
9d908589d3
Add a hack to unbreak MSVC builds. str(n)casecmp are POSIX functions and aren't available on windows (mingw defines them though).
...
llvm-svn: 79417
2009-08-19 12:16:17 +00:00
Eli Friedman
1e008c173a
PR4737: Fix a nasty bug in load narrowing with non-power-of-two types.
...
llvm-svn: 79415
2009-08-19 08:46:10 +00:00
Erick Tryzelaar
d552be457a
Add the ocaml binding to LLVMBuildAggregateRet.
...
llvm-svn: 79414
2009-08-19 08:37:00 +00:00
Erick Tryzelaar
fd529d7dc4
Expose some extra functions to llvm-c
...
llvm-svn: 79413
2009-08-19 08:36:49 +00:00
Nick Lewycky
cbfe9b195c
Fix up PHI nodes correctly in the presence of unreachable BBs, part two. Also
...
delete a newed pointer, and improve readability a little bit.
llvm-svn: 79411
2009-08-19 07:16:57 +00:00
Erick Tryzelaar
5c35b5cf91
Allow passing around LLVMContext in ocaml.
...
llvm-svn: 79410
2009-08-19 06:40:29 +00:00
Chris Lattner
79cbb75e69
ExuberantAsm is no more.
...
llvm-svn: 79409
2009-08-19 06:36:30 +00:00
Chris Lattner
78b23b0e3f
fix asmstreaming of 2/4 byte elements with pow-2 alignments.
...
llvm-svn: 79408
2009-08-19 06:35:36 +00:00
Nick Lewycky
9ddc52d5b8
Be more careful when modifying PHI nodes. Patch by Andre Tavares.
...
llvm-svn: 79407
2009-08-19 06:24:33 +00:00
Chris Lattner
37b7234a75
switch asmprinter to emit alignments through OutStreamer.
...
llvm-svn: 79406
2009-08-19 06:12:02 +00:00
Chris Lattner
4b7dadb76e
eliminate AsmPrinter::SwitchToSection and just have clients
...
talk to the MCStreamer directly instead.
llvm-svn: 79405
2009-08-19 05:49:37 +00:00
Andreas Neustifter
21e66abd40
Broke line before break.
...
llvm-svn: 79404
2009-08-19 05:44:39 +00:00
Daniel Dunbar
acf0b258de
Make a SmallVector size more reasonable.
...
llvm-svn: 79403
2009-08-19 05:08:06 +00:00
Erick Tryzelaar
9eb4a5f418
Fix gcc-4.4/fedora 11 by adding a sentinel value to SimpleValueType.
...
gcc-4.4 was optimizing away comparisons against SimpleValueType when
it was compared to a value larger than the largest value in the enum.
This patch works around it by adding one extra item to the enum so
that these tests will now be valid.
llvm-svn: 79401
2009-08-19 02:53:07 +00:00
Lang Hames
11732add1e
Added an option to have the PBQP allocator attempt coalescing during allocation.
...
llvm-svn: 79397
2009-08-19 01:36:14 +00:00
Owen Anderson
077df2c4ce
Revert my last patch temporarily.
...
llvm-svn: 79388
2009-08-19 00:52:13 +00:00
Owen Anderson
3042539089
Privatize part of the leak detector mechanism, which turned out to be heavily contended
...
when trying to run opt in parallel. This lets parallel opt crunch 403.gcc in about a third
of the time.
llvm-svn: 79387
2009-08-19 00:37:02 +00:00
Daniel Dunbar
0cf168635e
raw_ostream: Simplify write(unsigned char) to match write(const char*, unsigned).
...
llvm-svn: 79386
2009-08-19 00:23:39 +00:00
Daniel Dunbar
835da36ee9
raw_ostream: Remove pointless redefinitions of tell().
...
- The base class implementation is correct.
llvm-svn: 79385
2009-08-19 00:14:25 +00:00
Dan Gohman
dea2358c68
Fix SimplifyLibcalls and ValueTracking to check mayBeOverridden
...
before performing optimizations based on constant string values.
llvm-svn: 79384
2009-08-19 00:11:12 +00:00
Dan Gohman
2fa67c9f70
Be tidy and use a break to exit from a switch block rather than
...
just falling through the end.
llvm-svn: 79383
2009-08-18 23:52:48 +00:00
Daniel Dunbar
317a6cd010
raw_ostream: Add the capability for subclasses to manually install an external
...
buffer.
llvm-svn: 79382
2009-08-18 23:42:36 +00:00
Dan Gohman
4906f73a9f
Legalize the shift amount operand of SRL_PARTS, SHL_PARTS, and
...
SRA_PARTS, as is done for SRL, SHL, and SRA.
llvm-svn: 79380
2009-08-18 23:36:17 +00:00
Daniel Dunbar
17a6fd2299
raw_ostream: Reduce FormattedStream's reliance on raw_ostream's implementation.
...
- Kill off begin(), end(), and iterator. It isn't clear what these
mean. Instead provide getBufferStart(), which can be used with
GetNumBytesInBuffer to the same effect.
- Update ComputeColumn to take arguments for the buffer to scan, this
simplifies the implementation of write_impl substantially.
- This should also fix possible problems with the scanning pointer pointing
outside of the current raw_ostream buffer.
llvm-svn: 79379
2009-08-18 23:36:04 +00:00
Lang Hames
305be0e603
Changes DOUT references in the PBQP allocator to use DEBUG(errs() ...)
...
llvm-svn: 79378
2009-08-18 23:34:50 +00:00
Eric Christopher
9fe912de5f
Implement sse4.2 string/text processing instructions:
...
Add patterns and instruction encoding information.
Add custom lowering to deal with hardwired return register of
uncertain type (xmm0).
llvm-svn: 79377
2009-08-18 22:50:32 +00:00
Tanya Lattner
7fb1616d60
First steps to document new release plan.
...
llvm-svn: 79376
2009-08-18 22:33:28 +00:00
Daniel Dunbar
bc96fe7246
Speed up raw_ostream::<<(unsigned long long) for 32-bit systems by doing most
...
div/mods in 32-bits.
llvm-svn: 79375
2009-08-18 22:24:00 +00:00
Jakob Stoklund Olesen
36d747745e
Simplify RegScavenger::FindUnusedReg.
...
- Drop the Candidates argument and fix all callers. Now that RegScavenger
tracks available registers accurately, there is no need to restict the
search.
- Make sure that no aliases of the found register are in use. This was a potential bug.
llvm-svn: 79369
2009-08-18 21:14:54 +00:00
Richard Osborne
2349fb4d45
Add support for mergeable sections back into the XCore backend.
...
llvm-svn: 79368
2009-08-18 21:14:31 +00:00
Dan Gohman
23f90c1d3a
Fix a bug in raw_ostream::write(char) introduced by the change to
...
allow underlying stream classes to decline buffering. After
calling SetBuffered(), re-check whether the stream is Unbuffered
in order to handle the case where the underlying stream has
declined buffering.
llvm-svn: 79362
2009-08-18 20:09:59 +00:00
Daniel Dunbar
d882f4b6ff
Revert r78924, disabling buffering defeats all the fast paths in raw_ostream.
...
llvm-svn: 79361
2009-08-18 20:07:36 +00:00
Daniel Dunbar
959323a260
Improve Triple to recognize the OS in i386-mingw32.
...
llvm-svn: 79359
2009-08-18 19:26:55 +00:00
David Greene
60eb473ac9
Make various changes suggested by Chris.
...
llvm-svn: 79358
2009-08-18 19:22:55 +00:00
Misha Brukman
f87bb00561
Surrounded variable in <tt> tags for consistency.
...
llvm-svn: 79357
2009-08-18 19:18:40 +00:00
Daniel Dunbar
3828a99ba6
Fix pasto in StringRef::count(char)
...
llvm-svn: 79356
2009-08-18 18:34:22 +00:00
Owen Anderson
e8f2185a2f
Privatize the ValueHandle global map. Because this is used so heavily throughout the code base, locking all accesses to
...
it is not practical performance-wise.
llvm-svn: 79355
2009-08-18 18:28:58 +00:00
Daniel Dunbar
5736db6527
Add StringRef::count({char,StringRef})
...
llvm-svn: 79354
2009-08-18 18:26:35 +00:00
Erick Tryzelaar
a9680df669
Fix an uninitialized value warning in APFloat.
...
llvm-svn: 79353
2009-08-18 18:20:37 +00:00
Eric Christopher
d604b256d5
Add CXXFLAGS to the Link lines as well in case someone used those instead
...
of LDFLAGS.
llvm-svn: 79352
2009-08-18 18:07:35 +00:00
Richard Osborne
934d61648b
Put data with relocations in the same sections as data without relocations.
...
llvm-svn: 79351
2009-08-18 17:58:17 +00:00
Daniel Dunbar
d7f3433789
Attempt to normalize test results.
...
llvm-svn: 79350
2009-08-18 17:38:27 +00:00
Dan Gohman
b85ad63727
Make this test less sensitive to assembler differences.
...
llvm-svn: 79348
2009-08-18 17:19:46 +00:00
Chris Lattner
3ac8dc776a
alphabeticalize
...
llvm-svn: 79347
2009-08-18 17:04:44 +00:00
Chris Lattner
03ded465d2
fix COFF targets (mingw/cygwin) to provide ehframe and LSDA sections
...
llvm-svn: 79346
2009-08-18 16:56:17 +00:00
Chris Lattner
8b0e164aa6
force a triple so this passes on darwin
...
llvm-svn: 79345
2009-08-18 16:55:45 +00:00
Dan Gohman
bf2a9aedca
Generalize ScalarEvolution to be able to analyze GEPs when
...
TargetData is not present. It still uses TargetData when available.
This generalization also fixed some limitations in the TargetData
case; the attached testcase covers this.
llvm-svn: 79344
2009-08-18 16:46:41 +00:00
Chris Lattner
f446070b62
null streamer needs to maintain the current section as well.
...
llvm-svn: 79343
2009-08-18 16:46:29 +00:00
Oscar Fuentes
6d61f558ac
CMake: LLVM_ENABLE_PIC now defaults to ON, as in `configure'. This is
...
required on some platforms for building shared libraries that link to
the LLVM libraries.
llvm-svn: 79339
2009-08-18 15:29:35 +00:00
Dan Gohman
a41fa35992
Make tail merging handle blocks with repeated predecessors correctly, and
...
remove RemoveDuplicateSuccessor, as it is no longer necessary, and because
it breaks assumptions made in
MachineBasicBlock::isOnlyReachableByFallthrough.
Convert test/CodeGen/X86/omit-label.ll to FileCheck and add a testcase
for PR4732.
test/CodeGen/Thumb2/thumb2-ifcvt2.ll sees a diff with this commit due to
it being bugpoint-reduced to the point where it doesn't matter what the
condition for the branch is.
Add some more interesting code to
test/CodeGen/X86/2009-08-06-branchfolder-crash.ll, which is the testcase
that originally motivated the RemoveDuplicateSuccessor code, to help
verify that the original problem isn't being re-broken.
llvm-svn: 79338
2009-08-18 15:18:18 +00:00
Dan Gohman
82ac81b1cc
Fix a bug that caused globalopt to miscompile tramp3d: don't miss
...
unruly indices for arrays that are members of structs.
llvm-svn: 79337
2009-08-18 14:58:19 +00:00
Anton Korobeynikov
e4d2e8465a
Text sections should have 'exec' flag set. This seems to unbreak libstdc++ on linux.
...
Patch by Dmitry Gorbachev!
llvm-svn: 79334
2009-08-18 14:06:12 +00:00
Misha Brukman
0528437f30
Fixed spelling of MSP430.
...
llvm-svn: 79333
2009-08-18 13:50:28 +00:00
Daniel Dunbar
33d86f22f2
Fix Triple to recognize the 'bfin' arch.
...
llvm-svn: 79325
2009-08-18 07:06:26 +00:00
Chris Lattner
0adae25ec1
Make AsmStreamer maintain a notion of the current section, pushing it up from the
...
MCAsmStreamer. Based on this, eliminate the current section from AsmPrinter.
While I'm at it, clean up the last of the horrible "switch to null section" stuff
and add an assert. This change is in preparation for completely eliminating
asmprinter::switchtosection.
llvm-svn: 79324
2009-08-18 06:15:16 +00:00
Chris Lattner
5de2e2de93
add a horrible hack to the dwarf printer. It looks like mingw is not specifying
...
an EHFrame section, so we just emit ehframe data into a random section.
This is clearly bad.
llvm-svn: 79323
2009-08-18 06:13:03 +00:00
Nick Lewycky
e6e82b8480
Include valgrind in the steps to reproduce if valgrind was used to reproduce
...
the problem.
llvm-svn: 79322
2009-08-18 06:08:01 +00:00
Chris Lattner
966d32dffb
remove some pointless null switchtosections. The IntelAsmPrinter doesn't really work anyway.
...
llvm-svn: 79321
2009-08-18 06:03:07 +00:00
Evan Cheng
dd406177de
Fix revsh pattern.
...
llvm-svn: 79318
2009-08-18 05:43:23 +00:00
Chris Lattner
40bbb85949
add support for some targetflags on GV operands. This allows us to
...
send instructions like:
NEW: movl "L___stack_chk_guard$non_lazy_ptr" - "L1$pb"(%esi), %eax
OLD: movl L___stack_chk_guard$non_lazy_ptr-"L1$pb"(%esi), %eax
through the streamer. Several fixmes.
llvm-svn: 79317
2009-08-18 05:33:27 +00:00
Daniel Dunbar
320d331311
Recognize xscale as an ARM arch.
...
- Patch by Yonggang Luo.
llvm-svn: 79315
2009-08-18 04:51:26 +00:00
Daniel Dunbar
781f94d7fe
Add Triple matching for pic16 arch and solaris OS.
...
- Patch by Yonggang Luo.
llvm-svn: 79314
2009-08-18 04:43:27 +00:00
Chris Lattner
63d3fa5f3b
fix another bozo bug
...
llvm-svn: 79313
2009-08-18 04:34:36 +00:00
Chris Lattner
249e1acf1b
fix accidentally inverted conditional and add comment.
...
llvm-svn: 79312
2009-08-18 04:33:15 +00:00
Chris Lattner
523d2f6e2c
turn this conditional into something humans might actually
...
be able to understand ;-)
llvm-svn: 79311
2009-08-18 04:30:35 +00:00
Chris Lattner
dd1db9cc81
"-" should write to stdout, not stderr.
...
llvm-svn: 79310
2009-08-18 04:03:24 +00:00
Daniel Dunbar
8575a60d33
Change bugpoint to use Triple to make runtime decisions.
...
- This is cleaner, and makes bugpoint match the host instead of the build
architecture.
- Patch by Sandeep Patel!
llvm-svn: 79309
2009-08-18 03:35:57 +00:00
Eric Christopher
3fe6967b5d
Separate out Makefile defines so that we can keep the llvm
...
defined ones from the user defined ones. Propagate accordingly.
llvm-svn: 79308
2009-08-18 03:23:40 +00:00
Daniel Dunbar
f4e7b6cca4
Add LLVMInitializeAllTargetInfos for C api, and update
...
LLVMInitializeNativeTarget to initialize target info.
- Patch by Jose Fonseca.
llvm-svn: 79307
2009-08-18 03:03:27 +00:00
Dan Gohman
10f1471e2f
Make TargetData optional in MemCpyOptimizer.
...
llvm-svn: 79306
2009-08-18 01:17:52 +00:00
Evan Cheng
1105cbc270
Even more Apple style build horribleness.
...
llvm-svn: 79299
2009-08-18 00:56:17 +00:00
Dan Gohman
9f2b3db428
Make TargetData optional in SimplifyLibCalls.
...
llvm-svn: 79298
2009-08-18 00:48:13 +00:00
Anton Korobeynikov
284c9ae1b8
Regenerate
...
llvm-svn: 79297
2009-08-18 00:40:51 +00:00
Anton Korobeynikov
90e17e787f
The attached patches attempt to fix cross builds. For example, if you
...
try to use i686-darwin to build for arm-eabi, you'll quickly run into
several false assumptions that the target OS must be the same as the
host OS. These patches split $(OS) into $(HOST_OS) and $(TARGET_OS) to
help builds like "make check" and the test-suite able to cross
compile. Along the way a target of *-unknown-eabi is defined as
"Freestanding" so that TARGET_OS checks have something to work with.
Patch by Sandeep Patel!
llvm-svn: 79296
2009-08-18 00:40:33 +00:00
Edward O'Callaghan
2e9e3c3316
LLVM Ada language bindings. Credit to Rod Kay and the AuroraUX team.
...
llvm-svn: 79295
2009-08-18 00:24:36 +00:00
Dan Gohman
47a31a29c5
Fix function alignment at -Os on x86 to be 1, not 2. getFunctionAlignment
...
returns a log2 value.
llvm-svn: 79293
2009-08-18 00:20:06 +00:00
Dale Johannesen
4a50e68b65
PowerPC inline asm was emitting two output operands
...
for a single "m" constraint; this is wrong because the
opcode of a load or store would have to change in parallel.
This patch makes it always compute addresses into a register,
which is correct but not as efficient as possible. 7144566.
llvm-svn: 79292
2009-08-18 00:18:39 +00:00
Devang Patel
c6faffde6c
Add prefix only if it is needed.
...
llvm-svn: 79289
2009-08-17 23:17:17 +00:00
Jim Grosbach
f933c409e2
cleanups per review. Mostly cosmetic, plus use SmallVector in place of std::vector.
...
llvm-svn: 79287
2009-08-17 21:40:03 +00:00
John McCall
c5680625c8
#include <cstdlib> in the code listing for strtod.
...
llvm-svn: 79285
2009-08-17 21:07:37 +00:00
Devang Patel
993e527b30
Oops. find all llvm.dbg.global_variables.
...
llvm-svn: 79274
2009-08-17 20:36:20 +00:00
Jim Grosbach
43bbb9de66
Remove a bit more cruft from the sjlj moving to a backend pass.
...
llvm-svn: 79272
2009-08-17 20:25:04 +00:00