summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Update credits.Christopher Lamb2007-12-111-0/+1
| | | | llvm-svn: 44861
* Add information on address space qualifiers for pointer types and global Christopher Lamb2007-12-111-4/+15
| | | | | | declarations to the LangRef. llvm-svn: 44860
* Regenerate.Christopher Lamb2007-12-113-4845/+3590
| | | | llvm-svn: 44859
* 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. llvm-svn: 44858
* 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 llvm-svn: 44856
* 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 llvm-svn: 44855
* 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. llvm-svn: 44852
* Add first and really dirty version of generic Trie structureAnton Korobeynikov2007-12-111-0/+223
| | | | llvm-svn: 44851
* significantly simplify some code, no functionality change.Chris Lattner2007-12-111-88/+23
| | | | llvm-svn: 44850
* refactor some code, no functionality change.Chris Lattner2007-12-111-94/+96
| | | | llvm-svn: 44849
* Switch over to MachineLoopInfo.Evan Cheng2007-12-115-28/+28
| | | | llvm-svn: 44838
* Pretty print shuffle mask operand.Evan Cheng2007-12-111-0/+13
| | | | llvm-svn: 44837
* - 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. llvm-svn: 44836
* x86 doesn't actually want to custom lower v3i32Nate Begeman2007-12-111-0/+3
| | | | llvm-svn: 44835
* 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. llvm-svn: 44827
* Project file maintenance.Gordon Henriksen2007-12-111-1/+29
| | | | llvm-svn: 44826
* 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. llvm-svn: 44825
* 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 llvm-svn: 44824
* Hey, English is not my native language :)Anton Korobeynikov2007-12-101-1/+1
| | | | llvm-svn: 44820
* Clarify the need of CFI() stuffAnton Korobeynikov2007-12-101-0/+3
| | | | llvm-svn: 44819
* Provide convenient way to disable CFI stuff for old/broken assemblers.Anton Korobeynikov2007-12-101-70/+76
| | | | | | Use it for Darwin. llvm-svn: 44818
* Fix PR1850 by removing an unsafe transformation from VMCore/ConstantFold.cpp.Chris Lattner2007-12-107-43/+134
| | | | | | | | 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
* Added two bounds checks to the BitVector class to detectTed Kremenek2007-12-101-0/+4
| | | | | | | out-of-bounds bit accesses. The checks are only performed in a Debug build. llvm-svn: 44815
* split isBinaryOp into a static and member version.Chris Lattner2007-12-101-18/+10
| | | | llvm-svn: 44814
* Fix some wording.John Criswell2007-12-101-1/+2
| | | | llvm-svn: 44810
* Add StringPool + new CodeGen files to win32 buildChuck Rose III2007-12-102-0/+32
| | | | llvm-svn: 44805
* Disable cfi directives for now, darwin does't support them.Chris Lattner2007-12-101-67/+70
| | | | | | | | | | | These should probably be something like: CFI(".cfi_def_cfa_offset 16\n") where CFI is defined to a noop on darwin and other platforms that don't support those directives. llvm-svn: 44803
* Make PruneEH update the nounwind/noreturn attributesDuncan Sands2007-12-107-103/+128
| | | | | | on functions as it calculates them. llvm-svn: 44802
* Fix PR1836: in the interpreter, read and write apintsDuncan Sands2007-12-106-53/+129
| | | | | | | | | | | | | | | | using the minimum possible number of bytes. For little endian targets run on little endian machines, apints are stored in memory from LSB to MSB as before. For big endian targets on big endian machines they are stored from MSB to LSB which wasn't always the case before (if the target and host endianness doesn't match values are stored according to the host's endianness). Doing this requires knowing the endianness of the host, which is determined when configuring - thanks go to Anton for this. Only having access to little endian machines I was unable to properly test the big endian part, which is also the most complicated... llvm-svn: 44796
* And finally annotate X86-64 version of callback. Anton Korobeynikov2007-12-101-24/+51
| | | | | | All bad stuff from SSE version is implicitely inherited :) llvm-svn: 44794
* Provide annotation for SSE version of callback. It's even moreAnton Korobeynikov2007-12-101-1/+26
| | | | | | broken, because doesn't mark xmm regs properly llvm-svn: 44793
* Annotate JIT callback function with call frame infromation. Anton Korobeynikov2007-12-101-1/+19
| | | | | | | This will allow us (theoretically) to unwind through JITer. The code wasn't verified, so I'm pretty sure offsets are wrong :) llvm-svn: 44792
* It looks like this has been broken for some time -Duncan Sands2007-12-101-2/+2
| | | | | | get it to compile. llvm-svn: 44791
* A little more progress on StrongPHIElimination, now that I have a better ↵Owen Anderson2007-12-101-11/+16
| | | | | | | | sense of how the CodeGen machinery works. llvm-svn: 44786
* Improve branch folding by recgonizing that explict successor relationships ↵Christopher Lamb2007-12-102-3/+6
| | | | | | impact the value of fall-through choices. llvm-svn: 44785
* Delete the CollectorNamePool if it should become empty.Gordon Henriksen2007-12-102-0/+8
| | | | llvm-svn: 44775
* Fix a typo spotted by Nick Lewycky.Gordon Henriksen2007-12-101-2/+2
| | | | llvm-svn: 44774
* Adding a collector name attribute to Function in the IR. These Gordon Henriksen2007-12-1021-1231/+1449
| | | | | | | | | | | | | | | | | | | | 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
* Reverting dtor devirtualization patch.Gordon Henriksen2007-12-1021-663/+228
| | | | | | | _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
* remove some dead code. Chris Lattner2007-12-101-50/+0
| | | | llvm-svn: 44757
* fix some warnings.Chris Lattner2007-12-101-15/+12
| | | | llvm-svn: 44756
* Fix a big problem in the recent dtor refactoring work, now it passes ↵Chris Lattner2007-12-101-50/+14
| | | | | | 2007-11-19-InlineAsm.ll llvm-svn: 44755
* Devirtualizing Value destructor (PR889). Patch by Pawel Kunio!Gordon Henriksen2007-12-0922-228/+752
| | | | llvm-svn: 44747
* Duncan points out that the subtraction is unneeded since hte codeChris Lattner2007-12-091-1/+1
| | | | | | knows the vector is not pow2 llvm-svn: 44740
* Upgrading this test to 2.0 .ll syntax.Gordon Henriksen2007-12-091-28/+27
| | | | llvm-svn: 44738
* Fix PR1782, patch by Wojtek Matyjewicz!Chris Lattner2007-12-092-4/+35
| | | | llvm-svn: 44733
* Fix a very silly typo.Gordon Henriksen2007-12-091-1/+1
| | | | llvm-svn: 44732
* Fix accidental commit by Bill.Chris Lattner2007-12-091-1/+1
| | | | llvm-svn: 44729
* Add support for splitting the operand of a return instruction.Chris Lattner2007-12-093-53/+21
| | | | llvm-svn: 44728
* Reverting 44702. It wasn't correct to rename them.Bill Wendling2007-12-087-49/+49
| | | | llvm-svn: 44727
OpenPOWER on IntegriCloud