aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* Unbreak autouprade of llvm.sqrt, simplify some code.Chris Lattner2006-03-031-38/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26506 91177308-0d34-0410-b5e6-96231b3b80d8
* remove the read/write port/io intrinsics.Chris Lattner2006-03-032-51/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26479 91177308-0d34-0410-b5e6-96231b3b80d8
* Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolvingChris Lattner2006-03-023-139/+128
| | | | | | | | | | | | PR709, and paving the way for future progress. Significantly refactor autoupgrading code, to handle the more complex case (where we upgrade one argument in a function), and fix some bugs in it. Testcase here: llvm/test/Regression/Bytecode/memcpy.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26474 91177308-0d34-0410-b5e6-96231b3b80d8
* Back out my last check-in. Wrong place to fix it.Evan Cheng2006-03-011-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26462 91177308-0d34-0410-b5e6-96231b3b80d8
* AsmWriter should not print LLVM constant in comment. Assembler won't likeEvan Cheng2006-03-011-4/+0
| | | | | | | multi-line comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26461 91177308-0d34-0410-b5e6-96231b3b80d8
* Pretty print large struct constants.Jim Laskey2006-02-271-1/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26400 91177308-0d34-0410-b5e6-96231b3b80d8
* Reverting. Didn't realize some developers were embedding constants in theirJim Laskey2006-02-261-9/+1
| | | | | | | target assembler code gen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26383 91177308-0d34-0410-b5e6-96231b3b80d8
* Format large struct constants for readability.Jim Laskey2006-02-251-4/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26379 91177308-0d34-0410-b5e6-96231b3b80d8
* Parse the %*# constraint modifiersChris Lattner2006-02-231-1/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26341 91177308-0d34-0410-b5e6-96231b3b80d8
* Added x86 integer vector types: 64-bit packed byte integer (v16i8), 64-bitEvan Cheng2006-02-201-0/+3
| | | | | | | packed word integer (v8i16), and 64-bit packed doubleword integer (v2i32). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26294 91177308-0d34-0410-b5e6-96231b3b80d8
* Another work around for the 'symbols with different types can have the sameChris Lattner2006-02-131-0/+4
| | | | | | | name' issue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26149 91177308-0d34-0410-b5e6-96231b3b80d8
* validate matching constraints and remember when we see them.Chris Lattner2006-02-021-5/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25892 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix VC++ compilation error.Jeff Cohen2006-02-011-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25869 91177308-0d34-0410-b5e6-96231b3b80d8
* Beef up the interface to inline asm constraint parsing, making it more ↵Chris Lattner2006-02-011-44/+96
| | | | | | general, useful, and easier to use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25866 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix auto-upgrade of intrinsics to work properly with both assembly andReid Spencer2006-01-271-28/+98
| | | | | | | | bytecode reading. This code is crufty, the result of much hacking to get things working correctly. Cleanup patches will follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25682 91177308-0d34-0410-b5e6-96231b3b80d8
* add method for constraint parsingChris Lattner2006-01-261-29/+50
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25637 91177308-0d34-0410-b5e6-96231b3b80d8
* parse and verify the constraint string.Chris Lattner2006-01-261-0/+68
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25631 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure the only user of InlineAsm's are direct calls.Chris Lattner2006-01-261-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25626 91177308-0d34-0410-b5e6-96231b3b80d8
* Print InlineAsm objectsChris Lattner2006-01-252-9/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25617 91177308-0d34-0410-b5e6-96231b3b80d8
* Change inline asms to be uniqued like constants, not embedded in a Module.Chris Lattner2006-01-253-43/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25610 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial checkin of the InlineAsm classChris Lattner2006-01-244-5/+80
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25570 91177308-0d34-0410-b5e6-96231b3b80d8
* Pretty print file-scope asm blocks.Chris Lattner2006-01-241-1/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25568 91177308-0d34-0410-b5e6-96231b3b80d8
* syntax changeChris Lattner2006-01-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25567 91177308-0d34-0410-b5e6-96231b3b80d8
* Print out inline asm stringsChris Lattner2006-01-231-22/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25556 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR411:Reid Spencer2006-01-231-7/+6
| | | | | | | | | No functionality changes, just improve the code by a) providing better function names, b) eliminating a call to get_suffix and c) tightening up a function elimination test to reduce further checking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25540 91177308-0d34-0410-b5e6-96231b3b80d8
* Speedup and simplify pass registration by the observation that there isChris Lattner2006-01-231-20/+17
| | | | | | | | | | exactly one PassInfo object per RegisterPass object and that their lifetimes are the same. As such, there is no reason for the RegisterPass object to dynamically allocate the PassInfo object at compiler startup time: just inline the object by-value. This should reduce codesize, heap size, and startup time. Yaay. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25521 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead expression.Chris Lattner2006-01-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25480 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't use invalidated use_iterator's. This fixes a crash compiling povrayChris Lattner2006-01-201-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25479 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't forget about casting the result of an upgraded call to an intrinsicReid Spencer2006-01-191-1/+4
| | | | | | | in the case where it needs to cast back to a signed type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25447 91177308-0d34-0410-b5e6-96231b3b80d8
* Make get_suffix faster by using a switch on getTypeID rather than a seriesReid Spencer2006-01-191-12/+9
| | | | | | | of comparisons on the various type objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25441 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't accept the ctpop, cttz, or ctlz intrinsics with signed arguments. TheReid Spencer2006-01-191-36/+16
| | | | | | | interface requires unsigned arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25433 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new interface function to AutoUpgrade for simultaneously upgradingReid Spencer2006-01-191-59/+150
| | | | | | | | | the Function and the CallInst: UpgradeCallsToIntrinsic(Function*). Also, re-factor the AutoUpgrade implementation to eliminate some duplication of code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25432 91177308-0d34-0410-b5e6-96231b3b80d8
* VMCore support for the insertelement operation.Robert Bocchino2006-01-177-9/+150
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25408 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR411:Reid Spencer2006-01-162-54/+205
| | | | | | | | | | | | | | | | | This patch is an incremental step towards supporting a flat symbol table. It de-overloads the intrinsic functions by providing type-specific intrinsics and arranging for automatically upgrading from the old overloaded name to the new non-overloaded name. Specifically: llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64 llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64 llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64 llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64 llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64 New code should not use the overloaded intrinsic names. Warnings will be emitted if they are used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25366 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR411:Reid Spencer2006-01-161-0/+105
| | | | | | | | | This file makes the helper functions for auto-upgrade of llvm assembly and bytecode more accessible. This is part of de-overloading of intrinsic functions to support the flat symbol table (no type planes). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25365 91177308-0d34-0410-b5e6-96231b3b80d8
* Thanks to Daniel Berlin's ETForest fix, we can now use it again for the verifierChris Lattner2006-01-151-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25345 91177308-0d34-0410-b5e6-96231b3b80d8
* ET-Forest has issues with unreachable blocks. Temporarily disable verifiers useChris Lattner2006-01-151-0/+2
| | | | | | | of it until they are resolved. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25341 91177308-0d34-0410-b5e6-96231b3b80d8
* add a missing break that Reid noticed.Chris Lattner2006-01-151-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25328 91177308-0d34-0410-b5e6-96231b3b80d8
* Change ET-Forest to automatically recalculate its DFSnum's if too many slowChris Lattner2006-01-141-5/+22
| | | | | | | | | queries are made. Patch by Daniel Berlin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25323 91177308-0d34-0410-b5e6-96231b3b80d8
* Add bswap intrinsics as documented in the Language ReferenceNate Begeman2006-01-142-0/+35
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25309 91177308-0d34-0410-b5e6-96231b3b80d8
* Add recognition and verification of new llvm.stacksave/llvm.stackrestore ↵Chris Lattner2006-01-132-4/+18
| | | | | | intrinsics git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25266 91177308-0d34-0410-b5e6-96231b3b80d8
* Patch #10 from Saem:Chris Lattner2006-01-121-52/+32
| | | | | | | | "Extracts a few more methods, reduces some redundancy in the code at the same time." git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25248 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert the verifier over to use ETForest instead of DominatorSet. PatchChris Lattner2006-01-121-14/+14
| | | | | | | by Daniel Berlin git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25242 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix VC++ compilation error.Jeff Cohen2006-01-111-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25214 91177308-0d34-0410-b5e6-96231b3b80d8
* Patch #9 from Saem:Chris Lattner2006-01-111-124/+147
| | | | | | | | | | | | | "Cut up the runPasses method into smaller pieces. The small private helpers should be easier to deal with when code shuffling arising from creating the new specialised batchers, not to mention, they're much easier to understand. I inlined them, in case function call overhead would be noticeable -- doubtful." git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25213 91177308-0d34-0410-b5e6-96231b3b80d8
* Simple is good. CVS is for revision control, not file headersChris Lattner2006-01-111-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25206 91177308-0d34-0410-b5e6-96231b3b80d8
* Simple is goodChris Lattner2006-01-111-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25205 91177308-0d34-0410-b5e6-96231b3b80d8
* Added constant folding support for the extractelement operation.Robert Bocchino2006-01-104-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25187 91177308-0d34-0410-b5e6-96231b3b80d8
* Added support for the extractelement operation.Robert Bocchino2006-01-104-0/+73
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25181 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR411:Reid Spencer2006-01-102-0/+360
| | | | | | | | First step in refactoring the SymbolTable is to split it into two classes, one for a symbol table of types and one for a symbol table of Values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25175 91177308-0d34-0410-b5e6-96231b3b80d8