summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Simplify some uses of Value::getName()Daniel Dunbar2009-07-221-2/+2
| | | | llvm-svn: 76786
* Convert more assert(0)+abort() -> LLVM_UNREACHABLE,Torok Edwin2009-07-111-11/+13
| | | | | | and abort()/exit() -> llvm_report_error(). llvm-svn: 75363
* Have scoped mutexes take referenes instead of pointers.Owen Anderson2009-07-071-2/+2
| | | | llvm-svn: 74931
* Add locking around the external function lookup table for the interpreter.Owen Anderson2009-06-221-1/+12
| | | | llvm-svn: 73912
* Link against libffi if available, fall back to "no external calls fromNick Lewycky2009-04-131-8/+8
| | | | | | interpreter mode" when it's not. llvm-svn: 68937
* Reapply patch from r62553, with a fix to avoid looking for an ffi.h that isn'tNick Lewycky2009-02-041-496/+212
| | | | | | | | | | | | there. This changes the interpreter to use libffi. After this patch, the interpreter will barely be able to call any external functions if built on a system without libffi installed (just enough to pass 'make check' really). But with libffi, we can now call any function that isn't variadic or taking a struct or vector parameter (but pointer to struct is fine). Patch by Alexei Svitkine! llvm-svn: 63723
* Revert r62553 and r62616 due to issues with portability.Tanya Lattner2009-01-221-206/+496
| | | | llvm-svn: 62777
* Fix typo. Patch by Alexei Svitkine.Duncan Sands2009-01-201-1/+1
| | | | llvm-svn: 62616
* Make the Interpreter use libffi if it's available. Patch from Alexei Svitkine!Nick Lewycky2009-01-201-496/+206
| | | | | | | | | | | This requires a rebuild of 'configure' itself. I will be committing that next, but built with the wrong version of autoconf. Somebody who has the right one, please update it. As a side-note, because of the way autoconf works, all built tools will link against libffi, not just lli. If you know how to fix this, please let me know ... llvm-svn: 62553
* Add <cstdio> include where needed by gcc-4.4.Duncan Sands2008-10-081-0/+1
| | | | | | Patch by Samuel Tardieu. llvm-svn: 57291
* Use strcpy instead of sprintf here. This avoids a GCC 4.3 format-stringDan Gohman2008-08-051-1/+1
| | | | | | | warning. There wasn't actually a problem here, because the contents of the string are known. llvm-svn: 54385
* Unbreak build with gcc 4.3: provide missed includes and silence most ↵Anton Korobeynikov2008-02-201-0/+1
| | | | | | annoying warnings. llvm-svn: 47367
* Added memmove to interpreter external functions list. Patch by Daniel Dunbar.Evan Cheng2008-02-201-0/+9
| | | | llvm-svn: 47363
* Use empty() instead of comparing size() with zero.Dan Gohman2008-01-291-3/+3
| | | | llvm-svn: 46514
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Add explicit keywords, and fix a minor typo that they uncovered.Dan Gohman2007-12-141-1/+1
| | | | llvm-svn: 45034
* Add a guard to cxxabi header as other platform mayZhou Sheng2007-12-121-0/+12
| | | | | | not support it. llvm-svn: 44914
* Fixed PR1629.Zhou Sheng2007-12-121-0/+40
| | | | | | | Make lli interpreter correctly call external functions sin()/cos(), __cxa_guard_acquire() and __cxa_guard_release(). llvm-svn: 44910
* It looks like this has been broken for some time -Duncan Sands2007-12-101-2/+2
| | | | | | get it to compile. llvm-svn: 44791
* Add a comment: don't expect from external function resolver in interpreterAnton Korobeynikov2007-07-301-0/+5
| | | | | | things, it wasn't designed to handle. llvm-svn: 40608
* VStudio compiler errors and placing Function*->ExFunc map under ↵Chuck Rose III2007-07-271-4/+5
| | | | | | | | | | | | | ManagedStatic control. This commit fixes two things. One is a pair of VStudio compiler errors stemming from variables which defined within the for loop statement and also within the body of the for loop. I fixed these by renaming one of the two variables. Additionally, I've made the Function*->ExFunc map in ExternalFunctions.cpp a ManagedStatic object, so that cleanup will be done on llvm_shutdown. In repeated uses of the interpreter, where the same Function* address may get used for completely differnet functions, this was causing a crash. llvm-svn: 40558
* On Linux platforms and at optimization levels -O1 and above, llvm-gcc canReid Spencer2007-05-191-3/+14
| | | | | | | turn "putchar" calls into _IO_putc calls which is a lower-level interface. This patch allows these calls to be executed by lli in interpreter mode. llvm-svn: 37254
* We only need one putchar which gives it a shot at getting matched by itsReid Spencer2007-04-211-17/+4
| | | | | | users. llvm-svn: 36305
* For PR1293:Reid Spencer2007-03-301-49/+67
| | | | | | | | | | * Rename the FunctionType* parameter from M to FT on all the functions. * Implement a fix for PR1293 by just asserting that library functions that must return pointers should have pointer typed results. This just makes sure that we don't attempt to use an uninitialized integer or something later on. llvm-svn: 35508
* Adjust and simplify external function processing now that GenericValue hasReid Spencer2007-03-061-33/+41
| | | | | | a single integer field of type APInt. llvm-svn: 34950
* For PR1064:Reid Spencer2007-01-121-5/+9
| | | | | | | | | | | | | | | | | | | | | | | Implement the arbitrary bit-width integer feature. The feature allows integers of any bitwidth (up to 64) to be defined instead of just 1, 8, 16, 32, and 64 bit integers. This change does several things: 1. Introduces a new Derived Type, IntegerType, to represent the number of bits in an integer. The Type classes SubclassData field is used to store the number of bits. This allows 2^23 bits in an integer type. 2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and 64-bit integers. These are replaced with just IntegerType which is not a primitive any more. 3. Adjust the rest of LLVM to account for this change. Note that while this incremental change lays the foundation for arbitrary bit-width integers, LLVM has not yet been converted to actually deal with them in any significant way. Most optimization passes, for example, will still only deal with the byte-width integer types. Future increments will rectify this situation. llvm-svn: 33113
* Rename BoolTy as Int1Ty. Patch by Sheng Zhou.Reid Spencer2007-01-111-1/+1
| | | | llvm-svn: 33076
* For PR950:Reid Spencer2006-12-311-50/+46
| | | | | | Convert signed integer types to signless ones. llvm-svn: 32787
* Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling2006-12-071-7/+7
| | | | | | now cerr, cout, and NullStream resp. llvm-svn: 32298
* Unbreak VC++ build.Jeff Cohen2006-12-021-0/+1
| | | | llvm-svn: 32113
* Removed #include <iostream> and replaced streams with llvm streams.Bill Wendling2006-11-271-6/+7
| | | | llvm-svn: 31949
* Remove redundant <cmath>.Jim Laskey2006-11-081-1/+0
| | | | llvm-svn: 31561
* initial changes to support JIT'ing from multiple module providers, implicitlyChris Lattner2006-08-161-1/+1
| | | | | | linking the program on the fly. llvm-svn: 29721
* Fix -pedantic warningsChris Lattner2006-06-011-2/+3
| | | | llvm-svn: 28635
* For PR786:Reid Spencer2006-05-241-1/+1
| | | | | | | | Minor tweaks in public headers and a few .cpp files so that LLVM can build successfully with -pedantic and projects using LLVM with -pedantic don't get warnings from LLVM. There's still more -pedantic warnings to fix. llvm-svn: 28453
* Convert tabs to spacesMisha Brukman2005-04-221-3/+3
| | | | llvm-svn: 21440
* * Remove trailing whitespaceMisha Brukman2005-04-211-7/+7
| | | | | | * Convert tabs to spaces llvm-svn: 21421
* If the interpreter tries to execute an external function, kill it. Of courseChris Lattner2005-01-211-6/+8
| | | | | | | | since we are dirty, special case __main. This should fix the infinite loop horrible stuff that happens on linux-alpha when configuring llvm-gcc. It might also help cygwin, who knows?? llvm-svn: 19729
* Improve compatiblity with HPUX on Itanium, patch by Duraid MadinaChris Lattner2005-01-161-1/+1
| | | | llvm-svn: 19586
* Silence warningsChris Lattner2005-01-081-2/+2
| | | | llvm-svn: 19392
* Use System/DynamicLibrary instead of Support/DynamicLinkerReid Spencer2004-11-291-3/+4
| | | | llvm-svn: 18357
* Changes to support rand48 testsReid Spencer2004-10-271-0/+15
| | | | llvm-svn: 17284
* Changes For Bug 352Reid Spencer2004-09-011-1/+1
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner2004-06-171-1/+1
| | | | llvm-svn: 14201
* Add int ferror(FILE *)Brian Gaeke2004-06-161-0/+8
| | | | llvm-svn: 14194
* These #includes are long deadChris Lattner2004-05-271-2/+0
| | | | llvm-svn: 13856
* Get rid of a wart: useless getFILE function is now a cast macro.Reid Spencer2004-05-251-42/+2
| | | | llvm-svn: 13747
* Generalize the strlen size_t hack, for the benefit of the other externalBrian Gaeke2004-05-011-17/+33
| | | | | | functions with wrappers that either take or return size_ts. llvm-svn: 13296
* Pass around IntrinsicLowering instances as appropriate.Chris Lattner2003-12-281-26/+0
| | | | | | Reimplement the Interpreters implementation of va_* to be more direct. llvm-svn: 10627
* Finegrainify namespacificationChris Lattner2003-12-141-21/+1
| | | | llvm-svn: 10465
OpenPOWER on IntegriCloud