aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 1. "Upgrage" comments.Wojciech Matyjewicz2007-12-122-15/+26
| | | | | | | | | | | | | | | | 2. Using zero-extended value of Scale and unsigned division is safe provided that Scale doesn't have the sign bit set. Previously these 2 instructions: %p = bitcast [100 x {i8,i8,i8}]* %x to i8* %q = getelementptr i8* %p, i32 -4 were combined into: %q = getelementptr [100 x { i8, i8, i8 }]* %x, i32 0, i32 1431655764, i32 0 what was incorrect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44936 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Christopher Lamb2007-12-122-1215/+1197
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44934 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement part of review feedback for address spaces.Christopher Lamb2007-12-125-36/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44933 91177308-0d34-0410-b5e6-96231b3b80d8
* Use shuffles to implement insert_vector_elt for i32, i64, f32, and f64.Evan Cheng2007-12-125-64/+58
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44929 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test case for -optimize-ext-uses.Evan Cheng2007-12-121-0/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44928 91177308-0d34-0410-b5e6-96231b3b80d8
* Lower a build_vector with all constants into a constpool load unless it can ↵Evan Cheng2007-12-122-17/+26
| | | | | | be done with a move to low part. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44921 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a guard to cxxabi header as other platform mayZhou Sheng2007-12-121-0/+12
| | | | | | | not support it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44914 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed PR1629.Zhou Sheng2007-12-122-0/+94
| | | | | | | | Make lli interpreter correctly call external functions sin()/cos(), __cxa_guard_acquire() and __cxa_guard_release(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44910 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in my previous patch, thanks to Jay Foad forChris Lattner2007-12-121-2/+2
| | | | | | | pointing this out and correcting the patch! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44907 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't muck with phi nodes; bug fixes.Evan Cheng2007-12-121-2/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44905 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct typo for Linux: s/esp/%rsp/Scott Michel2007-12-121-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44904 91177308-0d34-0410-b5e6-96231b3b80d8
* Bit masks conflicted. Needed to bump them by one.Bill Wendling2007-12-121-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44903 91177308-0d34-0410-b5e6-96231b3b80d8
* Forgot to remove a register from the PHI-union after I'd determined that itOwen Anderson2007-12-121-3/+6
| | | | | | | interfered with other registers. Seems like that might be a good thing to do. :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44902 91177308-0d34-0410-b5e6-96231b3b80d8
* Add (very basic) bindings for ModuleProvider.Gordon Henriksen2007-12-127-0/+90
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44899 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug fix. Only safe to perform extension uses optimization if the source of ↵Evan Cheng2007-12-121-0/+5
| | | | | | extension is also defined in the same BB as the extension. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44896 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes from Curtis Dunham implementing lazy cycle detection algorithm.Daniel Berlin2007-12-121-125/+287
| | | | | | | | Changes from me implementing different way of representing points-to anything. Changes from me that improve slightly on LCD. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44895 91177308-0d34-0410-b5e6-96231b3b80d8
* If deleting a reload instruction due to reuse (value is available in ↵Evan Cheng2007-12-111-2/+18
| | | | | | register R and reload is targeting R), make sure to invalidate the kill information of the last kill. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44894 91177308-0d34-0410-b5e6-96231b3b80d8
* Need to grow the indexed map. Added debug statements.Bill Wendling2007-12-111-21/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44892 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify slightly.Bill Wendling2007-12-111-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44881 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove Trie::Edge class. Now edge labels are stored into nodes itself.Anton Korobeynikov2007-12-111-91/+85
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44880 91177308-0d34-0410-b5e6-96231b3b80d8
* More progress on StrongPHIElimination. Now we actually USE the DomForest!Owen Anderson2007-12-111-0/+89
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44877 91177308-0d34-0410-b5e6-96231b3b80d8
* Blark! How in the world did this work without this?!Bill Wendling2007-12-111-4/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44874 91177308-0d34-0410-b5e6-96231b3b80d8
* - Update the virtual reg to machine instruction map when hoisting.Bill Wendling2007-12-111-2/+12
| | | | | | | - Fix subtle bug when creating initially creating this map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44873 91177308-0d34-0410-b5e6-96231b3b80d8
* Checking for "zero operands" during the "CanHoistInst()" method isn't necessaryBill Wendling2007-12-111-11/+4
| | | | | | | | | | because those with side effects will be caught by other checks in here. Also, simplify the check for a BB in a sub loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44871 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow the JIT to encode MMX instructionsNate Begeman2007-12-111-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44869 91177308-0d34-0410-b5e6-96231b3b80d8
* Use correct member access operator.Wojciech Matyjewicz2007-12-111-1/+1
| | | | | | | (my test commit as well) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44868 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename these tests to use the appropriate suffixes.Dan Gohman2007-12-112-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44867 91177308-0d34-0410-b5e6-96231b3b80d8
* Use not instead of ignore when an exit status is expected to alwaysDan Gohman2007-12-117-8/+8
| | | | | | | be non-zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44866 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't redirect stderr when it isn't needed.Dan Gohman2007-12-112-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44865 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix compilation.Duncan Sands2007-12-111-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44864 91177308-0d34-0410-b5e6-96231b3b80d8
* Update credits.Christopher Lamb2007-12-111-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44861 91177308-0d34-0410-b5e6-96231b3b80d8
* Add information on address space qualifiers for pointer types and global Christopher Lamb2007-12-111-4/+15
| | | | | | | declarations to the LangRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44860 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Christopher Lamb2007-12-113-4845/+3590
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44859 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement address space attribute for LLVM pointer types. Address spaces are Christopher Lamb2007-12-1115-43/+151
| | | | | | | | | | | | | | | | | | regions of memory that have a target specific relationship, as described in the Embedded C Technical Report. This also implements the 2007-12-11-AddressSpaces test, which demonstrates how address space attributes can be used in LLVM IR. In addition, this patch changes the bitcode signature for stores (in a backwards compatible manner), such that the pointer type, rather than the pointee type, is encoded. This permits type information in the pointer (e.g. address space) to be preserved for stores. LangRef updates are forthcoming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44858 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach VMCore to constant fold shufflevectors with constant operands.Chris Lattner2007-12-111-2/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to compile: #include <emmintrin.h> typedef __m128i VSInt16; typedef short vSInt16 __attribute__ ((__vector_size__ (16))); VSInt16 t3() { return (VSInt16)((vSInt16)_mm_set1_epi16(6518)); } into: _t3: movaps LCPI1_0, %xmm0 ret instead of: _t3: movl $6518, %eax movd %eax, %xmm0 pextrw $0, %xmm0, %eax xorps %xmm0, %xmm0 pinsrw $0, %eax, %xmm0 punpcklwd %xmm0, %xmm0 pshufd $0, %xmm0, %xmm0 ret git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44856 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement constant folding if vector<->vector bitcasts where the numberChris Lattner2007-12-112-2/+155
| | | | | | | | of source/dest elements changes. This implements test/Transforms/InstCombine/bitcast-vector-fold.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44855 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't have APInt.cpp depend upon DerivedTypes.h. This helps with splitting theReid Spencer2007-12-111-14/+23
| | | | | | | Support libraries separately into their own module. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44852 91177308-0d34-0410-b5e6-96231b3b80d8
* Add first and really dirty version of generic Trie structureAnton Korobeynikov2007-12-111-0/+223
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44851 91177308-0d34-0410-b5e6-96231b3b80d8
* significantly simplify some code, no functionality change.Chris Lattner2007-12-111-88/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44850 91177308-0d34-0410-b5e6-96231b3b80d8
* refactor some code, no functionality change.Chris Lattner2007-12-111-94/+96
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44849 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch over to MachineLoopInfo.Evan Cheng2007-12-115-28/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44838 91177308-0d34-0410-b5e6-96231b3b80d8
* Pretty print shuffle mask operand.Evan Cheng2007-12-111-0/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44837 91177308-0d34-0410-b5e6-96231b3b80d8
* - Improved v8i16 shuffle lowering. It now uses pshuflw and pshufhw as much asEvan Cheng2007-12-113-95/+310
| | | | | | | | | | possible before resorting to pextrw and pinsrw. - Better codegen for v4i32 shuffles masquerading as v8i16 or v16i8 shuffles. - Improves (i16 extract_vector_element 0) codegen by recognizing (i32 extract_vector_element 0) does not require a pextrw. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44836 91177308-0d34-0410-b5e6-96231b3b80d8
* x86 doesn't actually want to custom lower v3i32Nate Begeman2007-12-111-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44835 91177308-0d34-0410-b5e6-96231b3b80d8
* CollectorMetadata and Collector are rejiggered to get along withGordon Henriksen2007-12-117-298/+427
| | | | | | | per-function collector model. Collector is now the factory for CollectorMetadata, so the latter may be subclassed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44827 91177308-0d34-0410-b5e6-96231b3b80d8
* Project file maintenance.Gordon Henriksen2007-12-111-1/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44826 91177308-0d34-0410-b5e6-96231b3b80d8
* Move TargetData::hostIsLittleEndian out of line, which means we Chris Lattner2007-12-112-9/+11
| | | | | | | | | don't have to #include config.h in it. #including config.h breaks other projects that have their own autoconf stuff and try to #include the llvm headers. One obscure example is llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44825 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding Ocaml bindings for the bitreader as requested by SarahGordon Henriksen2007-12-118-1/+217
| | | | | | | | | | | | | | | | | | | | Thompson. Usage should be something like this: open Llvm open Llvm_bitreader match read_bitcode_file fn with | Bitreader_failure msg -> prerr_endline msg | Bitreader_success m -> ...; dispose_module m Compile with: ocamlc llvm.cma llvm_bitreader.cma ocamlopt llvm.cmxa llvm_bitreader.cmxa git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44824 91177308-0d34-0410-b5e6-96231b3b80d8
* Hey, English is not my native language :)Anton Korobeynikov2007-12-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44820 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify the need of CFI() stuffAnton Korobeynikov2007-12-101-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44819 91177308-0d34-0410-b5e6-96231b3b80d8