- Jan 03, 2008
-
-
Chris Lattner authored
llvm-svn: 45512
-
- Jan 02, 2008
-
-
Chris Lattner authored
llvm-svn: 45506
-
- Jan 01, 2008
-
-
Gordon Henriksen authored
Patch by Bryan O'Sullivan! llvm-svn: 45481
-
- Dec 30, 2007
-
-
Gordon Henriksen authored
llvm-svn: 45450
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45418
-
Chris Lattner authored
llvm-svn: 45415
-
- Dec 27, 2007
-
-
Gordon Henriksen authored
llvm-svn: 45369
-
Gordon Henriksen authored
llvm-svn: 45367
-
- Dec 25, 2007
-
-
Gordon Henriksen authored
function with GC. This will catch the error when the inliner inlines a function with GC into a caller with no GC. llvm-svn: 45350
-
Gordon Henriksen authored
LangRef. llvm-svn: 45349
-
- Dec 21, 2007
-
-
Duncan Sands authored
as on functions. Make it verify invokes and not just ordinary calls. As a (desired) side-effect, it is no longer legal to have call attributes on arguments that are being passed to the varargs part of a varargs function (llvm-as drops them on the floor anyway). llvm-svn: 45286
-
- Dec 19, 2007
-
-
Gordon Henriksen authored
to exceptions rather than variants for error handling in Ocaml. llvm-svn: 45226
-
Duncan Sands authored
calls 'nounwind'. It is important for correct C++ exception handling that nounwind markings do not get lost, so this transformation is actually needed for correctness. llvm-svn: 45218
-
- Dec 18, 2007
-
-
Chris Lattner authored
llvm-svn: 45163
-
Duncan Sands authored
doesNotThrow. llvm-svn: 45160
-
Christopher Lamb authored
Don't forget to print address space qualifiers when printing out the type table! Thanks to Gordon Henriksen for pointing this out. llvm-svn: 45147
-
Evan Cheng authored
llvm-svn: 45140
-
- Dec 17, 2007
-
-
Evan Cheng authored
it's auto-upgraded to a shufflevector instruction. llvm-svn: 45131
-
Duncan Sands authored
how to lower them (with no attempt made to be efficient, since they should only occur for unoptimized code). llvm-svn: 45108
-
Gordon Henriksen authored
for Ocaml-based compilers targeting embedded devices. :) llvm-svn: 45096
-
Christopher Lamb authored
Change the PointerType api for creating pointer types. The old functionality of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space. llvm-svn: 45082
-
Christopher Lamb authored
Make it clear in the LangRef that allocation instructions only operated on the generic address space. Implement support in the verifier for ensuring this is true. llvm-svn: 45080
-
- Dec 16, 2007
-
-
Duncan Sands authored
calls. Remove special casing of inline asm from the inliner. There is a potential problem: the verifier rejects invokes of inline asm (not sure why). If an asm call is not marked "nounwind" in some .ll, and instcombine is not run, but the inliner is run, then an illegal module will be created. This is bad but I'm not sure what the best approach is. I'm tempted to remove the check in the verifier... llvm-svn: 45073
-
- Dec 14, 2007
-
-
Anders Carlsson authored
All MMX shift instructions took a <2 x i32> vector as the shift amount parameter. Change this to be <1 x i64> instead, which matches the assembler instruction. llvm-svn: 45027
-
- Dec 12, 2007
-
-
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
-
Gordon Henriksen authored
llvm-svn: 44899
-
- Dec 11, 2007
-
-
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
llvm-svn: 44850
-
Chris Lattner authored
llvm-svn: 44849
-
- Dec 10, 2007
-
-
Chris Lattner authored
Reimplement the xform in Analysis/ConstantFolding.cpp where we can use targetdata to validate that it is safe. While I'm in there, fix some const correctness issues and generalize the interface to the "operand folder". llvm-svn: 44817
-
Gordon Henriksen authored
llvm-svn: 44775
-
Gordon Henriksen authored
methods are new to Function: bool hasCollector() const; const std::string &getCollector() const; void setCollector(const std::string &); void clearCollector(); The assembly representation is as such: define void @f() gc "shadow-stack" { ... The implementation uses an on-the-side table to map Functions to collector names, such that there is no overhead. A StringPool is further used to unique collector names, which are extremely likely to be unique per process. llvm-svn: 44769
-
Gordon Henriksen authored
_sabre_: it has a major problem: by the time ~Value is run, all of the "parts" of the derived classes have been destroyed _sabre_: the vtable lives to fight another day llvm-svn: 44760
-
Chris Lattner authored
llvm-svn: 44756
-
Chris Lattner authored
llvm-svn: 44755
-
- Dec 09, 2007
-
-
Gordon Henriksen authored
llvm-svn: 44747
-
- Dec 05, 2007
-
-
Duncan Sands authored
not yet clear why, but in the meantime work around the problem by making less use of readnone/readonly info. llvm-svn: 44626
-
- Dec 03, 2007
-
-
Duncan Sands authored
throw exceptions", just mark intrinsics with the nounwind attribute. Likewise, mark intrinsics as readnone/readonly and get rid of special aliasing logic (which didn't use anything more than this anyway). llvm-svn: 44544
-
- Nov 30, 2007
-
-
Duncan Sands authored
llvm-svn: 44458
-