summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* llvm-mc: Improve handling of implicit alignment for magic section directivesDaniel Dunbar2009-08-212-19/+21
| | | | | | | | | (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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79697 91177308-0d34-0410-b5e6-96231b3b80d8
* Kill trailing whitespace.Eric Christopher2009-08-211-25/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79696 91177308-0d34-0410-b5e6-96231b3b80d8
* remove the directory tooChris Lattner2009-08-210-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79692 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r79563Chris Lattner2009-08-212-177/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79691 91177308-0d34-0410-b5e6-96231b3b80d8
* revert r79562 + r79563Chris Lattner2009-08-2110-533/+280
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79690 91177308-0d34-0410-b5e6-96231b3b80d8
* Make MSVC happy.Daniel Dunbar2009-08-211-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79689 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo.Anton Korobeynikov2009-08-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79688 91177308-0d34-0410-b5e6-96231b3b80d8
* revert r79631Chris Lattner2009-08-212-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79686 91177308-0d34-0410-b5e6-96231b3b80d8
* revert 79631Chris Lattner2009-08-2110-197/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79685 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc/Mach-O: Support .o emission for .org and .align.Daniel Dunbar2009-08-214-38/+113
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79684 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: In a .fill directive, still honor .align even if invalid maximum bytesDaniel Dunbar2009-08-211-3/+4
| | | | | | | count is given (this matches 'as'). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79683 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement APInt <-> APFloat conversion for IEEE 128-bit floats.Anton Korobeynikov2009-08-212-3/+85
| | | | | | This fixes PR2555 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79677 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename ARM "lane_cst" operands to "nohash_imm" since they are used forBob Wilson2009-08-215-18/+20
| | | | | | | | several things other than Neon vector lane numbers. For inline assembly operands with a "c" print code, check that they really are immediates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79676 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug where the DWARF emitter in the JIT was not initializing alignmentReid Kleckner2009-08-214-35/+40
| | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79674 91177308-0d34-0410-b5e6-96231b3b80d8
* Match VTRN, VZIP, and VUZP shuffles. Restore the tests for these operations,Bob Wilson2009-08-215-9/+331
| | | | | | | now using shuffles instead of intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79673 91177308-0d34-0410-b5e6-96231b3b80d8
* Add fcopysign instructionsAnton Korobeynikov2009-08-212-0/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79664 91177308-0d34-0410-b5e6-96231b3b80d8
* Try again at privatizing the layout info map, with a rewritten patch.Owen Anderson2009-08-212-48/+22
| | | | | | | This preserves the existing behavior much more closely than my previous attempt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79663 91177308-0d34-0410-b5e6-96231b3b80d8
* Expand few nodes until someone will be crazy enough to implement them ↵Anton Korobeynikov2009-08-211-2/+6
| | | | | | natively :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79659 91177308-0d34-0410-b5e6-96231b3b80d8
* Typo :(Anton Korobeynikov2009-08-211-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79657 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct instruction names for subtract-with-borrowAnton Korobeynikov2009-08-211-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79656 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc/Mach-O: Support byte and fill value emission.Daniel Dunbar2009-08-214-37/+446
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79652 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't assume that the operand of an inttoptr is an pointer-sized integer.Dan Gohman2009-08-211-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79651 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo. Should check both values of RangeUse for 0. Patch by Marius Wachtler.Bill Wendling2009-08-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79649 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle 'r' inline asm constraintAnton Korobeynikov2009-08-213-0/+148
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79648 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a comment.Bob Wilson2009-08-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79643 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a problem noticed by gcc-4.4:Duncan Sands2009-08-211-1/+1
| | | | | | | warning: comparison is always true due to limited range of data type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79642 91177308-0d34-0410-b5e6-96231b3b80d8
* Change getelementptr folding to use APInt instead of uint64_t forDan Gohman2009-08-212-14/+34
| | | | | | | | offset computations. This fixes a truncation bug on targets that don't have 64-bit pointers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79639 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some tests for vext.16 and vext.32.Bob Wilson2009-08-211-0/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79638 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix -Asserts warning.Daniel Dunbar2009-08-211-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79636 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Accept .fill size of 8.Daniel Dunbar2009-08-212-2/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79635 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typoAnton Korobeynikov2009-08-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79634 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed profiling test, lli not available on all platforms.Andreas Neustifter2009-08-214-330/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79633 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a pass to do call graph analyis to overlay the autos and frame sections of Sanjiv Gupta2009-08-2110-8/+202
| | | | | | | | leaf functions. This pass will be extended to color other nodes of the call tree as well in future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79631 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix build on platforms where stdint.h is not implicitly included in the ↵Benjamin Kramer2009-08-211-0/+1
| | | | | | standard headers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79629 91177308-0d34-0410-b5e6-96231b3b80d8
* More cpp backend fixes. Now for FP stuff.Anton Korobeynikov2009-08-211-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79626 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some typos and use type-based isel for VZIP/VUZP/VTRNAnton Korobeynikov2009-08-214-56/+56
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79625 91177308-0d34-0410-b5e6-96231b3b80d8
* Add lowering of ARM 4-element shuffles to multiple instructios via ↵Anton Korobeynikov2009-08-214-11/+6793
| | | | | | perfectshuffle-generated table. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79624 91177308-0d34-0410-b5e6-96231b3b80d8
* Add simple cost model to perfect shuffle. Currently we're doing just greedy ↵Anton Korobeynikov2009-08-211-6/+9
| | | | | | search for cost instead of (proper) dynamic programming approach. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79623 91177308-0d34-0410-b5e6-96231b3b80d8
* Add nodes & dummy matchers for some v{zip,uzp,trn} instructionsAnton Korobeynikov2009-08-213-0/+51
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79622 91177308-0d34-0410-b5e6-96231b3b80d8
* Expand EXTRACT_SUBVECTORAnton Korobeynikov2009-08-211-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79621 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide vext.{16,32}Anton Korobeynikov2009-08-212-13/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79620 91177308-0d34-0410-b5e6-96231b3b80d8
* Use masks not nodes for vector shuffle predicates. Provide set of 'legal' ↵Anton Korobeynikov2009-08-212-15/+34
| | | | | | masks, so legalizer won't infinite cycle git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79619 91177308-0d34-0410-b5e6-96231b3b80d8
* Whitespace cleanupAnton Korobeynikov2009-08-211-37/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79618 91177308-0d34-0410-b5e6-96231b3b80d8
* Update CMakeLists.Benjamin Kramer2009-08-211-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79617 91177308-0d34-0410-b5e6-96231b3b80d8
* bug 4530: Make debug information static to it is preservered during bitcode ↵Richard Pennington2009-08-211-2/+2
| | | | | | linking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79616 91177308-0d34-0410-b5e6-96231b3b80d8
* Added tests for Profiling Infrastructure.Andreas Neustifter2009-08-214-0/+330
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79615 91177308-0d34-0410-b5e6-96231b3b80d8
* Make for 32-bit only.Bill Wendling2009-08-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79614 91177308-0d34-0410-b5e6-96231b3b80d8
* Tweak svn:ignoreDaniel Dunbar2009-08-210-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79613 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Start MCAssembler and MCMachOStreamer.Daniel Dunbar2009-08-217-4/+1255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79612 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Various section parsing fixes.Daniel Dunbar2009-08-212-44/+84
| | | | | | | | | | | | | | | | - 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79611 91177308-0d34-0410-b5e6-96231b3b80d8