summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Dynamically get the right-sized member of a GenericValue to hold a size_t, andBrian Gaeke2003-12-121-2/+8
| | | | | | use it to return the result of strlen. llvm-svn: 10433
* Change LLI's internal representation of va_list to a pointer to the nextBrian Gaeke2003-11-131-3/+1
| | | | | | | | argument to be returned by va_arg. This allows va_lists to be passed between different LLVM procedures (though it is unlikely that an LLI va_list would make sense to an external function, except by chance.) llvm-svn: 9965
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* Abort when the user program calls abort, instead of printing a funny message ↵Brian Gaeke2003-11-051-4/+2
| | | | | | and calling exit(1). llvm-svn: 9716
* Unbreak the buildChris Lattner2003-10-251-1/+0
| | | | llvm-svn: 9502
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* Interpret the new varargs intrinsics correctlyChris Lattner2003-10-181-11/+6
| | | | llvm-svn: 9222
* Order #includes as per the style guide.Misha Brukman2003-10-141-3/+3
| | | | llvm-svn: 9128
* Don't include Config/stdio.h or <stdio.h>.Brian Gaeke2003-10-101-1/+0
| | | | llvm-svn: 9031
* Fix spelling.Misha Brukman2003-10-101-1/+1
| | | | llvm-svn: 9021
* Rewrite head-of-file comment.Brian Gaeke2003-10-101-14/+16
| | | | | | | | | In lookupFunction(): Change to use "F" for Function argument instead of ancient "M". Remove commented-out code. Change to use GetAddressOfSymbol instead of dlsym. llvm-svn: 9013
* Do not read past the end of the contained type listChris Lattner2003-10-091-2/+2
| | | | llvm-svn: 8986
* Make CreateArgv part of lli rather than part of ExecutionEngine.Brian Gaeke2003-09-051-16/+6
| | | | | | | | | | | | | | | Switch Interpreter and JIT's "run" methods to take a Function and a vector of GenericValues. Move (almost all of) the stuff that constructs a canonical call to main() into lli (new methods "callAsMain", "makeStringVector"). Nuke getCurrentExecutablePath(), enableTracing(), getCurrentFunction(), isStopped(), and many dead decls from interpreter. Add linux strdup() support to interpreter. Make interpreter's atexit handler runner and JIT's runAtExitHandlers() look more alike, in preparation for refactoring. atexit() is spelled "atexit", not "at_exit". llvm-svn: 8366
OpenPOWER on IntegriCloud