- Dec 13, 2007
-
-
Evan Cheng authored
Implicit def instructions, e.g. X86::IMPLICIT_DEF_GR32, are always re-materializable and they should not be spilled. llvm-svn: 44960
-
Duncan Sands authored
put it in a new header System/Host.h instead. Instead of getting the endianness from configure, calculate it directly. llvm-svn: 44959
-
- Dec 12, 2007
-
-
Dan Gohman authored
SelectionDAG::getConstant, in the same way as vector floating-point constants. This allows the legalize expansion code for @llvm.ctpop and friends to be usable with vector types. llvm-svn: 44954
-
Duncan Sands authored
and readnone for functions with bodies because it broke llvm-gcc-4.2 bootstrap. It turns out that, because of LLVM's array_ref hack, gcc was computing pure/const attributes wrong (now fixed by turning off the gcc ipa-pure-const pass). llvm-svn: 44937
-
Wojciech Matyjewicz authored
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. llvm-svn: 44936
-
Christopher Lamb authored
llvm-svn: 44934
-
Christopher Lamb authored
llvm-svn: 44933
-
Evan Cheng authored
llvm-svn: 44929
-
Evan Cheng authored
Lower a build_vector with all constants into a constpool load unless it can be done with a move to low part. llvm-svn: 44921
-
Zhou Sheng authored
not support it. llvm-svn: 44914
-
Zhou Sheng authored
Make lli interpreter correctly call external functions sin()/cos(), __cxa_guard_acquire() and __cxa_guard_release(). llvm-svn: 44910
-
Chris Lattner authored
pointing this out and correcting the patch! llvm-svn: 44907
-
Evan Cheng authored
llvm-svn: 44905
-
Scott Michel authored
llvm-svn: 44904
-
Owen Anderson authored
interfered with other registers. Seems like that might be a good thing to do. :-) llvm-svn: 44902
-
Gordon Henriksen authored
llvm-svn: 44899
-
Evan Cheng authored
Bug fix. Only safe to perform extension uses optimization if the source of extension is also defined in the same BB as the extension. llvm-svn: 44896
-
Daniel Berlin authored
Changes from me implementing different way of representing points-to anything. Changes from me that improve slightly on LCD. llvm-svn: 44895
-
Evan Cheng authored
If deleting a reload instruction due to reuse (value is available in register R and reload is targeting R), make sure to invalidate the kill information of the last kill. llvm-svn: 44894
-
Bill Wendling authored
llvm-svn: 44892
-
- Dec 11, 2007
-
-
Bill Wendling authored
llvm-svn: 44881
-
Owen Anderson authored
llvm-svn: 44877
-
Bill Wendling authored
llvm-svn: 44874
-
Bill Wendling authored
- Fix subtle bug when creating initially creating this map. llvm-svn: 44873
-
Bill Wendling authored
because those with side effects will be caught by other checks in here. Also, simplify the check for a BB in a sub loop. llvm-svn: 44871
-
Nate Begeman authored
llvm-svn: 44869
-
Duncan Sands authored
llvm-svn: 44864
-
Christopher Lamb authored
llvm-svn: 44859
-
Christopher Lamb authored
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. llvm-svn: 44858
-
Chris Lattner authored
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 llvm-svn: 44856
-
Chris Lattner authored
of source/dest elements changes. This implements test/Transforms/InstCombine/bitcast-vector-fold.ll llvm-svn: 44855
-
Reid Spencer authored
Support libraries separately into their own module. llvm-svn: 44852
-
Chris Lattner authored
llvm-svn: 44850
-
Chris Lattner authored
llvm-svn: 44849
-
Evan Cheng authored
llvm-svn: 44838
-
Evan Cheng authored
llvm-svn: 44837
-
Evan Cheng authored
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. llvm-svn: 44836
-
Nate Begeman authored
llvm-svn: 44835
-
Gordon Henriksen authored
per-function collector model. Collector is now the factory for CollectorMetadata, so the latter may be subclassed. llvm-svn: 44827
-
Chris Lattner authored
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. llvm-svn: 44825
-