Anton Korobeynikov
31ef120005
Fix typo.
...
llvm-svn: 79688
2009-08-21 23:09:47 +00:00
Chris Lattner
9d38bf92f9
revert r79631
...
llvm-svn: 79686
2009-08-21 23:08:45 +00:00
Chris Lattner
d13e92e3f5
revert 79631
...
llvm-svn: 79685
2009-08-21 23:08:09 +00:00
Daniel Dunbar
aa60fad397
llvm-mc/Mach-O: Support .o emission for .org and .align.
...
llvm-svn: 79684
2009-08-21 23:07:38 +00:00
Anton Korobeynikov
bb4c910976
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
9482015a0a
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
58c16635f7
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
6d4400e852
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
9458a8c84d
Add fcopysign instructions
...
llvm-svn: 79664
2009-08-21 20:02:37 +00:00
Owen Anderson
e1a4b0a055
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
cee0600755
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
a6998a6d4c
Typo :(
...
llvm-svn: 79657
2009-08-21 18:41:02 +00:00
Anton Korobeynikov
3756177f71
Correct instruction names for subtract-with-borrow
...
llvm-svn: 79656
2009-08-21 18:37:28 +00:00
Daniel Dunbar
ca9ad524dc
llvm-mc/Mach-O: Support byte and fill value emission.
...
llvm-svn: 79652
2009-08-21 18:29:01 +00:00
Dan Gohman
aac0378610
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
50e8e856f2
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
a706ea5720
Handle 'r' inline asm constraint
...
llvm-svn: 79648
2009-08-21 18:15:41 +00:00
Duncan Sands
faf85e8111
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
d240c19451
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
Daniel Dunbar
d71e292ca6
Fix -Asserts warning.
...
llvm-svn: 79636
2009-08-21 16:17:36 +00:00
Anton Korobeynikov
e51af67afc
Fix a typo
...
llvm-svn: 79634
2009-08-21 15:41:56 +00:00
Sanjiv Gupta
23e2613513
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
Anton Korobeynikov
842b234841
More cpp backend fixes. Now for FP stuff.
...
llvm-svn: 79626
2009-08-21 12:50:54 +00:00
Anton Korobeynikov
20d832fa1b
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
218db4a01c
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
220512160d
Add nodes & dummy matchers for some v{zip,uzp,trn} instructions
...
llvm-svn: 79622
2009-08-21 12:40:50 +00:00
Anton Korobeynikov
dccf7cb911
Expand EXTRACT_SUBVECTOR
...
llvm-svn: 79621
2009-08-21 12:40:35 +00:00
Anton Korobeynikov
f6657d5e02
Provide vext.{16,32}
...
llvm-svn: 79620
2009-08-21 12:40:21 +00:00
Anton Korobeynikov
a2e4bc2312
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
Benjamin Kramer
a9afa949a7
Update CMakeLists.
...
llvm-svn: 79617
2009-08-21 11:28:56 +00:00
Richard Pennington
2d2ff4d30e
bug 4530: Make debug information static to it is preservered during bitcode linking.
...
llvm-svn: 79616
2009-08-21 11:10:31 +00:00
Daniel Dunbar
7e81ff0f87
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
Bill Wendling
cc546992dd
Remove #include <iostream>.
...
llvm-svn: 79603
2009-08-21 06:52:44 +00:00
Erick Tryzelaar
e3280847cc
Clean up the APInt function getDigit.
...
llvm-svn: 79602
2009-08-21 06:48:37 +00:00
Eric Christopher
972db4c0d3
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
8f257f5c7d
Fix trailing whitespace and 80-col violation.
...
llvm-svn: 79594
2009-08-21 04:06:45 +00:00
Erick Tryzelaar
ff8b504eb3
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
11660bb729
Allow '+' to appear in APInt strings, and add more unit tests.
...
llvm-svn: 79592
2009-08-21 03:15:14 +00:00
Bob Wilson
c046b62f1a
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
91de21580f
Re-revert r79555. Apparently it's not just buildbot weirdness.
...
llvm-svn: 79578
2009-08-20 23:51:44 +00:00
Erick Tryzelaar
6bd69aaa86
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
277bc36265
Reapply r79555 for testing. Daniel's trying to work out some buildbot weirdnesss.
...
llvm-svn: 79572
2009-08-20 23:14:20 +00:00
Bill Wendling
c810ad4dc6
--- 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
ee0f476fd4
Attempt to comment this code more.
...
llvm-svn: 79567
2009-08-20 22:02:24 +00:00
Daniel Dunbar
638e57db6e
Suppress build warning in -Asserts
...
llvm-svn: 79564
2009-08-20 20:01:34 +00:00
Sanjiv Gupta
e1f6ce48bb
part of the previous commit for PIC16 ISR implementation.
...
llvm-svn: 79563
2009-08-20 19:34:18 +00:00
Sanjiv Gupta
c5522596e7
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
9e7081dd58
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
8eba306123
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
1e6749d2ab
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