- Mar 21, 2012
-
-
Gregory Szorc authored
This gives a lot of love to the docs for the C API. Like Clang's documentation, the C API is now organized into a Doxygen "module" (LLVMC). Each C header file is a child of the main module. Some modules (like Core) have a hierarchy of there own. The produced documentation is thus better organized (before everything was in one monolithic list). This patch also includes a lot of new documentation for APIs in Core.h. It doesn't document them all, but is better than none. Function docs are missing @param and @return annotation, but the documentation body now commonly provides help details (like the expected llvm::Value sub-type to expect). llvm-svn: 153157
-
- Feb 06, 2012
-
-
Bill Wendling authored
were no 'unwind' instructions being generated before this, so this is in effect a no-op. llvm-svn: 149906
-
- Feb 01, 2012
-
-
Hal Finkel authored
llvm-svn: 149472
-
Hal Finkel authored
This is the initial checkin of the basic-block autovectorization pass along with some supporting vectorization infrastructure. Special thanks to everyone who helped review this code over the last several months (especially Tobias Grosser). llvm-svn: 149468
-
- Jan 31, 2012
-
-
Bill Wendling authored
over the catch information. The catch information is now tacked to the invoke instruction. llvm-svn: 149326
-
- Jan 25, 2012
-
-
Chandler Carruth authored
to 64-bits, and added a new attribute in bit #32. Specifically, remove this new attribute from the enum used in the C API. It's not yet clear what the best approach is for exposing these new attributes in the C API, and several different proposals are on the table. Until then, we can simply not expose this bit in the API at all. Also, I've reverted a somewhat unrelated change in the same revision which switched from "1 << 31" to "1U << 31" for the top enum. While "1 << 31" is technically undefined behavior, implementations DTRT here. However, MS and -pedantic mode warn about non-'int' type enumerator values. If folks feel strongly about this I can put the 'U' back in, but it seemed best to wait for the proper solution. llvm-svn: 148937
-
- Jan 20, 2012
-
-
Benjamin Kramer authored
llvm-svn: 148555
-
Kostya Serebryany authored
Problem: LLVM needs more function attributes than currently available (32 bits). One such proposed attribute is "address_safety", which shows that a function is being checked for address safety (by AddressSanitizer, SAFECode, etc). Solution: - extend the Attributes from 32 bits to 64-bits - wrap the object into a class so that unsigned is never erroneously used instead - change "unsigned" to "Attributes" throughout the code, including one place in clang. - the class has no "operator uint64 ()", but it has "uint64_t Raw() " to support packing/unpacking. - the class has "safe operator bool()" to support the common idiom: if (Attributes attr = getAttrs()) useAttrs(attr); - The CTOR from uint64_t is marked explicit, so I had to add a few explicit CTOR calls - Add the new attribute "address_safety". Doing it in the same commit to check that attributes beyond first 32 bits actually work. - Some of the functions from the Attribute namespace are worth moving inside the class, but I'd prefer to have it as a separate commit. Tested: "make check" on Linux (32-bit and 64-bit) and Mac (10.6) built/run spec CPU 2006 on Linux with clang -O2. This change will break clang build in lib/CodeGen/CGCall.cpp. The following patch will fix it. llvm-svn: 148553
-
- Dec 20, 2011
-
-
Devang Patel authored
Patch by Andrew Wilkins! llvm-svn: 146984
-
- Dec 17, 2011
-
-
Dan Gohman authored
"half precision" floating-point with a first-class type. This patch adds basic IR support (but not codegen support). llvm-svn: 146786
-
- Nov 29, 2011
-
-
Danil Malyshev authored
- getSymbolOffset() renamed as getSymbolFileOffset() - getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile. - added getRelocationOffset() - fixed MachOObjectFile::getSymbolSize() - fixed MachOObjectFile::getSymbolSection() - fixed MachOObjectFile::getSymbolOffset() for symbols without section data. llvm-svn: 145408
-
Daniel Dunbar authored
llvm-svn: 145330
-
- Nov 27, 2011
-
-
Chandler Carruth authored
Original commit message: Fixed ObjectFile functions: - getSymbolOffset() renamed as getSymbolFileOffset() - getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile. - added getRelocationOffset() - fixed MachOObjectFile::getSymbolSize() - fixed MachOObjectFile::getSymbolSection() - fixed MachOObjectFile::getSymbolOffset() for symbols without section data. llvm-svn: 145182
-
Danil Malyshev authored
- getSymbolOffset() renamed as getSymbolFileOffset() - getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile. - added getRelocationOffset() - fixed MachOObjectFile::getSymbolSize() - fixed MachOObjectFile::getSymbolSection() - fixed MachOObjectFile::getSymbolOffset() for symbols without section data. llvm-svn: 145180
-
- Nov 04, 2011
-
-
Chad Rosier authored
Patch by Anders Waldenborg <anders@0x63.nu>. llvm-svn: 143705
-
- Oct 27, 2011
-
-
Owen Anderson authored
llvm-svn: 143109
-
Owen Anderson authored
llvm-svn: 143107
-
- Oct 21, 2011
-
-
Owen Anderson authored
llvm-svn: 142683
-
Owen Anderson authored
llvm-svn: 142681
-
Owen Anderson authored
llvm-svn: 142667
-
Owen Anderson authored
Expand the coverage of the libObject C bindings to include more SectionRef accessors as well as Symbol iterators. llvm-svn: 142661
-
- Oct 14, 2011
-
-
Torok Edwin authored
llvm-svn: 141991
-
Torok Edwin authored
llvm-svn: 141990
-
- Oct 07, 2011
-
-
Michael J. Spencer authored
llvm-svn: 141385
-
Bill Wendling authored
--- Reverse-merging r141377 into '.': U tools/llvm-objdump/MachODump.cpp --- Reverse-merging r141376 into '.': U include/llvm/Object/COFF.h U include/llvm/Object/ObjectFile.h U include/llvm-c/Object.h U tools/llvm-objdump/llvm-objdump.cpp U lib/Object/MachOObjectFile.cpp U lib/Object/COFFObjectFile.cpp U lib/Object/Object.cpp U lib/Object/ELFObjectFile.cpp llvm-svn: 141379
-
Michael J. Spencer authored
llvm-svn: 141376
-
- Oct 06, 2011
-
-
Torok Edwin authored
They are not in sync now, for example Bitcast would show up as LLVMCall. So instead introduce 2 functions that map to and from the opcodes in the C bindings. llvm-svn: 141290
-
Torok Edwin authored
llvm-svn: 141289
-
Torok Edwin authored
llvm-svn: 141288
-
Torok Edwin authored
llvm-svn: 141287
-
Torok Edwin authored
llvm-svn: 141286
-
Torok Edwin authored
llvm-svn: 141285
-
- Oct 05, 2011
-
-
Kevin Enderby authored
using llvm's public 'C' disassembler API now including annotations. Hooked this up to Darwin's otool(1) so it can again print things like branch targets for example this: blx _puts instead of this: blx #-36 and includes support for annotations for branches to symbol stubs like: bl 0x40 @ symbol stub for: _puts and annotations for pc relative loads like this: ldr r3, #8 @ literal pool for: Hello, world! Also again can print the expression encoded in the Mach-O relocation entries for things like this: movt r0, :upper16:((_foo-_bar)+1234) llvm-svn: 141129
-
- Oct 03, 2011
-
-
Devang Patel authored
llvm-svn: 141023
-
- Aug 23, 2011
-
-
Nate Begeman authored
llvm-svn: 138371
-
- Aug 19, 2011
-
-
Benjamin Kramer authored
C API functions must be able to see their extern "C" definitions, or it will be impossible to call them from C. llvm-svn: 138022
-
- Aug 12, 2011
-
-
Bill Wendling authored
This implements the 'landingpad' instruction. It's used to indicate that a basic block is a landing pad. There are several restrictions on its use (see LangRef.html for more detail). These restrictions allow the exception handling code to gather the information it needs in a much more sane way. This patch has the definition, implementation, C interface, parsing, and bitcode support in it. llvm-svn: 137501
-
- Aug 10, 2011
-
-
Rafael Espindola authored
llvm-svn: 137162
-
- Aug 04, 2011
-
-
Bill Wendling authored
This is some of my original LLVM code. *wipes tear* llvm-svn: 136821
-
- Aug 02, 2011
-
-
Bill Wendling authored
The 'unwind' function is going away with the new EH rewrite. This is step 0 in keeping front-ends from using it. llvm-svn: 136683
-