| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 76553
|
|
|
|
|
|
|
|
| |
EE::create().
Also a test commit.
llvm-svn: 76276
|
|
|
|
|
|
|
|
|
| |
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").
llvm-svn: 75640
|
|
|
|
|
|
|
|
|
| |
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
llvm-svn: 75379
|
|
|
|
|
|
| |
and abort()/exit() -> llvm_report_error().
llvm-svn: 75363
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
default, this option is not enabled to support clients who rely on
this behavior.
Fixes http://llvm.org/PR4483
A patch to allocate additional memory for globals after we run out is
forthcoming.
Patch by Reid Kleckner!
llvm-svn: 75059
|
|
|
|
|
|
|
|
| |
This will replace exit()/abort() style error handling with an API
that allows clients to register custom error handling hooks.
The default is to call exit(1) when no error handler is provided.
llvm-svn: 74922
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
integer and floating-point opcodes, introducing
FAdd, FSub, and FMul.
For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
backwards compatability, and the Core LLVM APIs preserve backwards
compatibility for IR producers. Most front-ends won't need to change
immediately.
This implements the first step of the plan outlined here:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt
llvm-svn: 72897
|
|
|
|
|
|
|
| |
will make it more obvious what it represents, and stop
it being confused with the StoreSize.
llvm-svn: 71349
|
|
|
|
|
|
|
| |
which better identifies what the optimization is doing. And is more flexible for
future uses.
llvm-svn: 70440
|
|
|
|
|
|
|
| |
an optimization level instead of a simple boolean telling it to generate code
"fast" or the other type of "fast".
llvm-svn: 70347
|
|
|
|
|
|
| |
and streamline code here a bit.
llvm-svn: 67636
|
|
|
|
| |
llvm-svn: 67629
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that has not been JIT'd yet, the callee is put on a list of pending functions
to JIT. The call is directed through a stub, which is updated with the address
of the function after it has been JIT'd. A new interface for allocating and
updating empty stubs is provided.
Add support for removing the ModuleProvider the JIT was created with, which
would otherwise invalidate the JIT's PassManager, which is initialized with the
ModuleProvider's Module.
Add support under a new ExecutionEngine flag for emitting the infomration
necessary to update Function and GlobalVariable stubs after JITing them, by
recording the address of the stub and the name of the GlobalValue. This allows
code to be copied from one address space to another, where libraries may live
at different virtual addresses, and have the stubs updated with their new
correct target addresses.
llvm-svn: 64906
|
|
|
|
| |
llvm-svn: 63743
|
|
|
|
|
|
| |
does not cause the owned module to be fully materialized.
llvm-svn: 62864
|
|
|
|
| |
llvm-svn: 62776
|
|
|
|
| |
llvm-svn: 62279
|
|
|
|
|
|
| |
suggested by Chris.
llvm-svn: 62099
|
|
|
|
| |
llvm-svn: 58868
|
|
|
|
| |
llvm-svn: 58807
|
|
|
|
| |
llvm-svn: 58737
|
|
|
|
| |
llvm-svn: 58684
|
|
|
|
|
|
|
|
| |
variable is moved to the execution engine. The JIT calls the TargetJITInfo
to allocate thread local storage. Currently, only linux/x86 knows how to
allocate thread local global variables.
llvm-svn: 58142
|
|
|
|
|
|
| |
emitGlobals()
llvm-svn: 57484
|
|
|
|
|
|
|
| |
and APFloat::convertToInteger. Restore return value to
IEEE754. Adjust all users accordingly.
llvm-svn: 57329
|
|
|
|
|
|
|
| |
make it clearer what the function does. No functional
change.
llvm-svn: 57325
|
|
|
|
|
|
| |
module. Patch by David Chisnall.
llvm-svn: 56849
|
|
|
|
|
|
| |
allocate space for a GlobalVariable.
llvm-svn: 56557
|
|
|
|
|
|
| |
privilege from read / write to read / executable.
llvm-svn: 56303
|
|
|
|
| |
llvm-svn: 55350
|
|
|
|
| |
llvm-svn: 54523
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
are allocated in the same buffer as the code,
jump tables, etc.
The default JIT memory manager does not handle buffer
overflow well. I didn't introduce this and I'm not
attempting to fix it here, but it is more likely to
be hit now since we're putting more stuff in the
buffer. This affects one test that I know of so far,
MultiSource/Benchmarks/NPB-serial/is.
llvm-svn: 54442
|
|
|
|
| |
llvm-svn: 52414
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. The "JITState" object creates a PassManager with the ModuleProvider that the
jit is created with. If the ModuleProvider is removed and deleted, the
PassManager is invalid.
2. The Global maps in the JIT were not invalidated with a ModuleProvider was
removed. This could lead to a case where the Module would be freed, and a
new Module with Globals at the same addresses could return invalid results.
llvm-svn: 51384
|
|
|
|
|
|
| |
will become first-class types.
llvm-svn: 51293
|
|
|
|
|
|
|
|
|
|
| |
are represented as "weak", but there are subtle differences
in some cases on Darwin, so we need both. The intent
is that "common" will behave identically to "weak" unless
somebody changes their target to do something else.
No functional change as yet.
llvm-svn: 51118
|
|
|
|
| |
llvm-svn: 49206
|
|
|
|
| |
llvm-svn: 48151
|
|
|
|
|
|
| |
it tries to initialize them.
llvm-svn: 48046
|
|
|
|
|
|
| |
by using the new convertFromAPInt directly.
llvm-svn: 47739
|
|
|
|
|
|
| |
annoying warnings.
llvm-svn: 47367
|
|
|
|
| |
llvm-svn: 47148
|
|
|
|
| |
llvm-svn: 47079
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 45059
|
|
|
|
|
|
|
|
|
|
| |
endianness of the target not of the host. Done by the
simple expedient of reversing bytes for primitive types
if the host and target endianness don't match. This is
correct for integer and pointer types. I don't know if
it is correct for floating point types.
llvm-svn: 45039
|
|
|
|
|
|
|
|
| |
put it in a new header System/Host.h instead.
Instead of getting the endianness from configure,
calculate it directly.
llvm-svn: 44959
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|