Devang Patel
a57e0b8f49
Add support to add named metadata operand.
...
Patch by Andrew Wilkins!
llvm-svn: 146984
2011-12-20 19:29:36 +00:00
Dan Gohman
9c8c9a8f62
The powers that be have decided that LLVM IR should now support 16-bit
...
"half precision" floating-point with a first-class type.
This patch adds basic IR support (but not codegen support).
llvm-svn: 146786
2011-12-17 00:04:22 +00:00
Danil Malyshev
5ce4e1a9d3
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: 145408
2011-11-29 17:40:10 +00:00
Daniel Dunbar
7e05a207c4
llvm-c: Add a few missing InitializeAll* functions.
...
llvm-svn: 145330
2011-11-29 00:06:55 +00:00
Chandler Carruth
e5e455c97f
Revert r145180 as it is causing test failures on all the bots.
...
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
2011-11-27 10:37:47 +00:00
Danil Malyshev
3bbe062799
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: 145180
2011-11-27 10:12:52 +00:00
Chad Rosier
2605e6c51a
Remove declarations for functions that don't exist (and never have).
...
Patch by Anders Waldenborg <anders@0x63.nu>.
llvm-svn: 143705
2011-11-04 17:07:11 +00:00
Owen Anderson
997d323baa
Expose relocation accessors through the libObject C API.
...
llvm-svn: 143109
2011-10-27 17:32:36 +00:00
Owen Anderson
ece66e91f2
Add relocation iterators to the libObject C API.
...
llvm-svn: 143107
2011-10-27 17:15:47 +00:00
Owen Anderson
0d40d283e9
Use LLVMBool for a function that logically returns a boolean value.
...
llvm-svn: 142683
2011-10-21 20:35:58 +00:00
Owen Anderson
7faa1c3317
Fix typo.
...
llvm-svn: 142681
2011-10-21 20:28:19 +00:00
Owen Anderson
da28398bb6
Bind libObject API for obtaining the section containing a Symbol.
...
llvm-svn: 142667
2011-10-21 18:21:22 +00:00
Owen Anderson
33b5868dab
Expand the coverage of the libObject C bindings to include more SectionRef accessors as well as Symbol iterators.
...
llvm-svn: 142661
2011-10-21 17:50:59 +00:00
Torok Edwin
5ea77f1df2
ocaml bindings: introduce classify_value
...
llvm-svn: 141991
2011-10-14 20:37:56 +00:00
Torok Edwin
47a6a6a1fc
ocaml bindings: add getopcode for constant and instruction, and int64_of_const.
...
llvm-svn: 141990
2011-10-14 20:37:49 +00:00
Michael J. Spencer
34d76cf95b
Change relocation API to be per section. This time without breaking GCC.
...
llvm-svn: 141385
2011-10-07 19:25:32 +00:00
Bill Wendling
ecbddb2b9e
Revert 141376 and 141377 due to breaking the build.
...
--- 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
2011-10-07 18:25:37 +00:00
Michael J. Spencer
14925a859b
Change relocation API to be per section.
...
llvm-svn: 141376
2011-10-07 18:15:25 +00:00
Torok Edwin
5a26a27370
Don't require C bindings opcode numbers to be kept in sync.
...
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
2011-10-06 12:39:34 +00:00
Torok Edwin
fc9cb1b7a0
Add uwtable, returnstwice and nonlazybind to the C bindings also.
...
llvm-svn: 141289
2011-10-06 12:13:32 +00:00
Torok Edwin
e5135b07e8
ocaml/C bindings: type->isSized()
...
llvm-svn: 141288
2011-10-06 12:13:28 +00:00
Torok Edwin
413276a992
add binding to read icmp predicate
...
llvm-svn: 141287
2011-10-06 12:13:20 +00:00
Torok Edwin
b0b404e35f
ocaml/C bindings: getmdstring, add num_op, get_op should work on metadata too
...
llvm-svn: 141286
2011-10-06 12:13:11 +00:00
Torok Edwin
76fc6a1a53
C/OCaml API to retrieve struct name.
...
llvm-svn: 141285
2011-10-06 12:12:50 +00:00
Kevin Enderby
5a09a8db55
Adding back support for printing operands symbolically to ARM's new disassembler
...
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
2011-10-04 22:44:48 +00:00
Devang Patel
659746207c
Add C api for Instruction->eraseFromParent().
...
llvm-svn: 141023
2011-10-03 20:59:18 +00:00
Nate Begeman
87ffb9491b
Add some useful accessors to c++ api that appear to be missing from the c api
...
llvm-svn: 138371
2011-08-23 20:27:46 +00:00
Benjamin Kramer
c5a90f3683
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
2011-08-19 01:36:54 +00:00
Bill Wendling
4cbbcd4f82
Initial commit of the 'landingpad' instruction.
...
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
2011-08-12 20:24:12 +00:00
Rafael Espindola
0e580ecc63
Add missing file.
...
llvm-svn: 137162
2011-08-09 22:19:52 +00:00
Bill Wendling
fdea9930ac
Remove the LowerSetJmp pass. It wasn't used effectively by any of the targets.
...
This is some of my original LLVM code. *wipes tear*
llvm-svn: 136821
2011-08-03 22:18:20 +00:00
Bill Wendling
b37af02067
Remove the LLVMBuildUnwind C API function.
...
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
2011-08-02 06:20:17 +00:00
Bill Wendling
8a625cebd2
Add the 'resume' instruction for the new EH rewrite.
...
This adds the 'resume' instruction class, IR parsing, and bitcode reading and
writing. The 'resume' instruction resumes propagation of an existing (in-flight)
exception whose unwinding was interrupted with a 'landingpad' instruction (to be
added later).
llvm-svn: 136589
2011-07-31 06:30:59 +00:00
Bill Wendling
57ddbb84ac
Revert r136253, r136263, r136269, r136313, r136325, r136326, r136329, r136338,
...
r136339, r136341, r136369, r136387, r136392, r136396, r136429, r136430, r136444,
r136445, r136446, r136253 pending review.
llvm-svn: 136556
2011-07-30 05:42:50 +00:00
Eli Friedman
f6797ffc9a
LangRef and basic memory-representation/reading/writing for 'cmpxchg' and
...
'atomicrmw' instructions, which allow representing all the current atomic
rmw intrinsics.
The allowed operands for these instructions are heavily restricted at the
moment; we can probably loosen it a bit, but supporting general
first-class types (where it makes sense) might get a bit complicated,
given how SelectionDAG works.
As an initial cut, these operations do not support specifying an alignment,
but it would be possible to add if we think it's useful. Specifying an
alignment lower than the natural alignment would be essentially
impossible to support on anything other than x86, but specifying a greater
alignment would be possible. I can't think of any useful optimizations which
would use that information, but maybe someone else has ideas.
Optimizer/codegen support coming soon.
llvm-svn: 136404
2011-07-28 21:48:00 +00:00
Bill Wendling
b96d318578
Keep enums stable. Append EH stuff to the end.
...
llvm-svn: 136263
2011-07-27 21:00:28 +00:00
Bill Wendling
b20cfdfe95
Merge the contents from exception-handling-rewrite to the mainline.
...
This adds the new instructions 'landingpad' and 'resume'.
llvm-svn: 136253
2011-07-27 20:18:04 +00:00
Eli Friedman
a36a11b45b
The numbering of LLVMOpcode is supposed to be stable; revert my earlier change, and append Fence onto the end.
...
llvm-svn: 136245
2011-07-27 18:59:19 +00:00
Eli Friedman
22e4c4d12d
Fix a couple minor mistakes pointed out by Bill in adding 'fence' instruction.
...
llvm-svn: 136124
2011-07-26 20:24:06 +00:00
Rafael Espindola
a4148a5a84
Add LLVMAddAlwaysInlinerPass to the C API.
...
llvm-svn: 136083
2011-07-26 15:23:23 +00:00
Rafael Espindola
d7295c15ab
LLVM 3.0 is here, remove old do nothing method.
...
llvm-svn: 136082
2011-07-26 15:17:32 +00:00
Rafael Espindola
7c7d45a67c
Add LLVMAddTargetLibraryInfo to the C API.
...
llvm-svn: 135975
2011-07-25 21:20:54 +00:00
Rafael Espindola
e982fa5f80
Add LLVMAddLowerExpectIntrinsicPass to the C API.
...
llvm-svn: 135966
2011-07-25 20:57:59 +00:00
Evan Cheng
7b4cb12a95
Combine all MC initialization routines into one. e.g. InitializeX86MCAsmInfo,
...
InitializeX86MCInstrInfo, etc. are combined into InitializeX86TargetMC.
llvm-svn: 135812
2011-07-22 21:58:54 +00:00
Evan Cheng
bfc0cac54d
Introduce MCCodeGenInfo, which keeps information that can affect codegen
...
(including compilation, assembly). Move relocation model Reloc::Model from
TargetMachine to MCCodeGenInfo so it's accessible even without TargetMachine.
llvm-svn: 135468
2011-07-19 06:37:02 +00:00
Chris Lattner
e1fe7061ce
land David Blaikie's patch to de-constify Type, with a few tweaks.
...
llvm-svn: 135375
2011-07-18 04:54:35 +00:00
Chris Lattner
aba8e40670
remove the InvalidateStructLayoutInfo API, which is dead and unnecessary now
...
that type refinement is toast.
llvm-svn: 135245
2011-07-15 05:21:59 +00:00
Evan Cheng
9e8f90a020
Rename createAsmInfo to createMCAsmInfo and move registration code to MCTargetDesc to prepare for next round of changes.
...
llvm-svn: 135219
2011-07-14 23:50:31 +00:00
Rafael Espindola
e3b7833680
Add LLVMConstNamedStruct to the C api to let its users create constants
...
of named struct types.
llvm-svn: 135178
2011-07-14 19:09:08 +00:00
Chris Lattner
f98f70f2f2
add a couple more missing C api, patch by Vitaly Lugovskiy!
...
llvm-svn: 135151
2011-07-14 16:20:28 +00:00