aboutsummaryrefslogtreecommitdiff
path: root/lib/ExecutionEngine
AgeCommit message (Collapse)Author
2003-12-20This should not be needed anymoreChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10558 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-20Implement PR135, lazy emission of global variablesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10549 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-20Simple refactorings to prepare for lazy global emissionChris Lattner
Also, add a stat for the number of globals emitted git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10547 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-20Cleanup the JIT as per PR176. This renames the VM class to JIT, and merges theChris Lattner
VM.cpp and JIT.cpp files into JIT.cpp. This also splits some nasty code out into TargetSelect.cpp so that people hopefully won't notice it. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10544 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-20Update for changes in the JITChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10543 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-20Rip JIT specific stuff out of TargetMachine, as per PR176Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10542 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14Finegrainify namespacificationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10465 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12Dynamically get the right-sized member of a GenericValue to hold a size_t, andBrian Gaeke
use it to return the result of strlen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10433 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12Implement the ExecutionEngine::getPointerToFunctionOrStub by forwarding theChris Lattner
request on to the TargetMachine if it supports the getJITStubForFunction method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10431 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12Since we are using a gep_type_iterator, we apparently must get the typeBrian Gaeke
index by using I.getOperand() here. This was failing an assertion on basically every struct access. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10426 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11Fix typo in comment. Add prototype for getConstantExprValue().Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10390 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11Add support for --debug-only=interpreter, to print out instrs beforeBrian Gaeke
interpreting them. Move support for getting the value of a ConstantExpr into getConstantExprValue(), and add support for the rest of the different kinds of ConstantExprs. (I don't think I like ConstantExprs!) This requires separate procedures executeShlInst() and executeShrInst(). Reduce the number of references to TheEE. Get rid of an old comment mentioning annotations. Fix exitCalled(), which was crashing the Interpreter. This was a leftover from the return-value code refactoring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10389 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08implement methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10321 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08Use the new method, though noone currently implements it any better than beforeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10320 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08Finegrainify namespacificationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10318 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-30Emit constants to one contiguous block, but this time, respect alignment ↵Chris Lattner
constraints. If this doesn't work Misha, feel free to revert it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10267 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-30Go back to allocating memory for each constant separately. Since SPARCs do notMisha Brukman
allow unaligned loads, that is probably the problem I've been seeing in numerous SPARC test cases failing. X86, on the other hand, just slows down unaligned accesses, since it must make 2 aligned accesses for each unaligned one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10266 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-25Do not depend on structure elements being of type UByteTyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10224 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-19Fine grainify namespaceificationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10093 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-17Emit the MachineConstantPool constants in one contiguous memory `pool'.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10060 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-17* Order #includes as per style guideMisha Brukman
* Delete blank comment lines * Eliminate space between function name and open-paren ( to be consistent git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10059 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-13Change LLI's internal representation of va_list to a pointer to the nextBrian Gaeke
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.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9965 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-09Remove #include of PassManager.h which was marked FIXME, and apparently is noBrian Gaeke
longer used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9823 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07Implement vaarg instruction. This is not quite perfect: 2003-08-11-VaListArgBrian Gaeke
still causes a crash. But it's better than before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9794 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07popStackAndReturnValueToCaller() must advance instruction pointer to normalBrian Gaeke
destination, if returning from an invoke. Implement 'unwind' instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9792 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07Remove the *BIG UGLY HACK* from the JIT: PreSelection is now a FunctionPass.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9790 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07Add stub version of unwind supportBrian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9789 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07visitCallInst --> visitCallSite.Brian Gaeke
Use visitCallSite to implement both CallInsts and InvokeInsts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9788 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07Make the operation of visitCallInst() only depend on the CallSite.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9787 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07Use CallSites for call sites, instead of CallInsts. A revolutionary concept.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9784 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07Refactor the return-from-function code into popStackAndReturnValueToCaller().Brian Gaeke
Make external function calls slightly less special; now they get a stack frame. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9765 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05Be friendly to gcc 3.4... good compiler. Nice compiler.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9726 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05Abort when the user program calls abort, instead of printing a funny message ↵Brian Gaeke
and calling exit(1). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9716 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05Use regular old malloc to emulate malloc/alloca instructions.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9713 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05Remove a comment which no longer applies.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9712 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-29In VM::create(), comment out almost the whole function if NO_JITS_ENABLED,Brian Gaeke
because the Arch variable will likely be undefined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9576 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-25Unbreak the buildChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9502 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-24ExecutionEngine::create no longer takes a TraceMode argument.Brian Gaeke
CurFrame, TraceMode, and the CachedWriter are history. The ExecutionAnnotations (SlotNumber, InstNumber, and FunctionInfo) are history. ExecutionContext now keeps Values for each stack frame in a std::map. printValue() and print() are history. executeInstruction() is now part of run(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9493 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-24ExecutionEngine::create no longer takes a TraceMode argument.Brian Gaeke
CurFrame, TraceMode, and the CachedWriter are history. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9492 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-24The ExecutionAnnotations (SlotNumber, InstNumber, and FunctionInfo) are history.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9490 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-24Reduce the number of #includes.Brian Gaeke
CurFrame, TraceMode, and the CachedWriter are history. ArrayChecksEnabled and non-QuietMode are history. The ExecutionAnnotations (SlotNumber, InstNumber, and FunctionInfo) are history. ExecutionContext now keeps Values for each stack frame in a std::map. Stop pre-initializing Values on the stack to 42. Remove some dead variables, excess whitespace and commented-out code. executeInstruction() is now part of run(). printValue() and print() are history. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9489 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-24ExecutionEngine::create no longer takes a TraceMode argument.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9488 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-24Destroy MachineFunction for any Function that we are about toBrian Gaeke
recompile and relink. This keeps it from failing an assertion when it goes and tries to construct a new MachineFunction for that Function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9459 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21Added LLVM copyright header.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9321 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20Added LLVM copyright notice to Makefiles.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9312 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20Added LLVM project notice to the top of every C++ source file.John Criswell
Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20Hrm, a relic from the past. How cute :)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9283 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18Interpret the new varargs intrinsics correctlyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9222 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17Don't release the Module, as that invalidates the Module* within theMisha Brukman
ModuleProvider, which has bad consequences in lli::callAsMain() which tries to access that same Module*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9205 91177308-0d34-0410-b5e6-96231b3b80d8