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