summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Ease contention on this lock by noticing that all writes to the VTs array willOwen Anderson2009-08-221-2/+5
| | | | | | | | | 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
* Revert r79563Chris Lattner2009-08-212-177/+0
| | | | llvm-svn: 79691
* revert r79562 + r79563Chris Lattner2009-08-2110-533/+280
| | | | llvm-svn: 79690
* Fix typo.Anton Korobeynikov2009-08-211-1/+1
| | | | llvm-svn: 79688
* revert r79631Chris Lattner2009-08-212-0/+0
| | | | llvm-svn: 79686
* revert 79631Chris Lattner2009-08-2110-197/+8
| | | | llvm-svn: 79685
* llvm-mc/Mach-O: Support .o emission for .org and .align.Daniel Dunbar2009-08-212-17/+91
| | | | llvm-svn: 79684
* Implement APInt <-> APFloat conversion for IEEE 128-bit floats.Anton Korobeynikov2009-08-211-3/+83
| | | | | | This fixes PR2555 llvm-svn: 79677
* 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. llvm-svn: 79676
* Fix a bug where the DWARF emitter in the JIT was not initializing alignmentReid Kleckner2009-08-212-28/+22
| | | | | | | | | | 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
* Match VTRN, VZIP, and VUZP shuffles. Restore the tests for these operations,Bob Wilson2009-08-212-9/+74
| | | | | | now using shuffles instead of intrinsics. llvm-svn: 79673
* Add fcopysign instructionsAnton Korobeynikov2009-08-211-0/+7
| | | | llvm-svn: 79664
* Try again at privatizing the layout info map, with a rewritten patch.Owen Anderson2009-08-211-47/+17
| | | | | | This preserves the existing behavior much more closely than my previous attempt. llvm-svn: 79663
* Expand few nodes until someone will be crazy enough to implement them ↵Anton Korobeynikov2009-08-211-2/+6
| | | | | | natively :) llvm-svn: 79659
* Typo :(Anton Korobeynikov2009-08-211-2/+2
| | | | llvm-svn: 79657
* Correct instruction names for subtract-with-borrowAnton Korobeynikov2009-08-211-2/+2
| | | | llvm-svn: 79656
* llvm-mc/Mach-O: Support byte and fill value emission.Daniel Dunbar2009-08-212-27/+140
| | | | llvm-svn: 79652
* Don't assume that the operand of an inttoptr is an pointer-sized integer.Dan Gohman2009-08-211-1/+3
| | | | llvm-svn: 79651
* Fix typo. Should check both values of RangeUse for 0. Patch by Marius Wachtler.Bill Wendling2009-08-211-1/+1
| | | | llvm-svn: 79649
* Handle 'r' inline asm constraintAnton Korobeynikov2009-08-212-0/+45
| | | | llvm-svn: 79648
* 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. llvm-svn: 79642
* Change getelementptr folding to use APInt instead of uint64_t forDan Gohman2009-08-211-11/+15
| | | | | | | offset computations. This fixes a truncation bug on targets that don't have 64-bit pointers. llvm-svn: 79639
* Fix -Asserts warning.Daniel Dunbar2009-08-211-2/+2
| | | | llvm-svn: 79636
* Fix a typoAnton Korobeynikov2009-08-211-1/+1
| | | | llvm-svn: 79634
* 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. llvm-svn: 79631
* More cpp backend fixes. Now for FP stuff.Anton Korobeynikov2009-08-211-3/+3
| | | | llvm-svn: 79626
* Fix some typos and use type-based isel for VZIP/VUZP/VTRNAnton Korobeynikov2009-08-214-56/+56
| | | | llvm-svn: 79625
* Add lowering of ARM 4-element shuffles to multiple instructios via ↵Anton Korobeynikov2009-08-213-9/+6720
| | | | | | perfectshuffle-generated table. llvm-svn: 79624
* Add nodes & dummy matchers for some v{zip,uzp,trn} instructionsAnton Korobeynikov2009-08-213-0/+51
| | | | llvm-svn: 79622
* Expand EXTRACT_SUBVECTORAnton Korobeynikov2009-08-211-0/+1
| | | | llvm-svn: 79621
* Provide vext.{16,32}Anton Korobeynikov2009-08-212-13/+23
| | | | llvm-svn: 79620
* 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 llvm-svn: 79619
* Update CMakeLists.Benjamin Kramer2009-08-211-0/+3
| | | | llvm-svn: 79617
* bug 4530: Make debug information static to it is preservered during bitcode ↵Richard Pennington2009-08-211-2/+2
| | | | | | linking. llvm-svn: 79616
* llvm-mc: Start MCAssembler and MCMachOStreamer.Daniel Dunbar2009-08-212-0/+398
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* Remove #include <iostream>.Bill Wendling2009-08-211-1/+0
| | | | llvm-svn: 79603
* Clean up the APInt function getDigit.Erick Tryzelaar2009-08-211-21/+19
| | | | llvm-svn: 79602
* Update error messages for '+'. Fix grammar and make the twoEric Christopher2009-08-211-4/+5
| | | | | | negative checks resemble each other. llvm-svn: 79595
* Fix trailing whitespace and 80-col violation.Eric Christopher2009-08-211-120/+121
| | | | llvm-svn: 79594
* Fix bug with APInt::getBitsNeeded with for base 10 numbers 0-9.Erick Tryzelaar2009-08-211-30/+42
| | | | llvm-svn: 79593
* Allow '+' to appear in APInt strings, and add more unit tests.Erick Tryzelaar2009-08-211-6/+11
| | | | llvm-svn: 79592
* Remove Neon intrinsics for VZIP, VUZP, and VTRN. We will represent these asBob Wilson2009-08-211-57/+0
| | | | | | | vector shuffles. Temporarily remove the tests for these operations until the new implementation is working. llvm-svn: 79579
* Re-revert r79555. Apparently it's not just buildbot weirdness.Owen Anderson2009-08-201-35/+52
| | | | llvm-svn: 79578
* Add support for including '+' in APFloat strings, more asserts,Erick Tryzelaar2009-08-201-28/+34
| | | | | | and many new unit tests. llvm-svn: 79574
* Reapply r79555 for testing. Daniel's trying to work out some buildbot ↵Owen Anderson2009-08-201-52/+35
| | | | | | weirdnesss. llvm-svn: 79572
* --- Reverse-merging r79555 into '.':Bill Wendling2009-08-201-35/+52
| | | | | | | | | U include/llvm/Target/TargetData.h U lib/Target/TargetData.cpp Temporarily revert 79555. It was causing hangs and test failures. llvm-svn: 79568
* Attempt to comment this code more.Bill Wendling2009-08-201-27/+122
| | | | llvm-svn: 79567
* Suppress build warning in -AssertsDaniel Dunbar2009-08-201-0/+1
| | | | llvm-svn: 79564
* part of the previous commit for PIC16 ISR implementation.Sanjiv Gupta2009-08-202-0/+178
| | | | llvm-svn: 79563
* Implement support for ISRs. Sanjiv Gupta2009-08-2010-280/+528
| | | | | | | | | 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
OpenPOWER on IntegriCloud