| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 31949
|
|
|
|
|
|
|
|
|
|
| |
The long awaited CAST patch. This introduces 12 new instructions into LLVM
to replace the cast instruction. Corresponding changes throughout LLVM are
provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
exception of 175.vpr which fails only on a slight floating point output
difference.
llvm-svn: 31931
|
|
|
|
| |
llvm-svn: 31561
|
|
|
|
|
|
|
|
| |
This patch converts the old SHR instruction into two instructions,
AShr (Arithmetic) and LShr (Logical). The Shr instructions now are not
dependent on the sign of their operands.
llvm-svn: 31542
|
|
|
|
| |
llvm-svn: 31374
|
|
|
|
|
|
| |
Replace the REM instruction with UREM, SREM and FREM.
llvm-svn: 31369
|
|
|
|
| |
llvm-svn: 31339
|
|
|
|
|
|
|
| |
would fail. E.g. udiv sint X, Y or sdiv uint X, Y would fail to find a
type match in the switch statement and fail the operation.
llvm-svn: 31338
|
|
|
|
|
|
|
|
| |
Make necessary changes to support DIV -> [SUF]Div. This changes llvm to
have three division instructions: signed, unsigned, floating point. The
bytecode and assembler are bacwards compatible, however.
llvm-svn: 31195
|
|
|
|
|
|
|
|
| |
This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.
llvm-svn: 31063
|
|
|
|
|
|
|
|
| |
therefore the function being called must be a main() returning an int. The
consequences when these assumptions are false are not good, so don't assume
them.
llvm-svn: 26031
|
|
|
|
| |
llvm-svn: 22254
|
|
|
|
|
|
| |
* Convert tabs to spaces
llvm-svn: 21421
|
|
|
|
|
|
|
|
| |
using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*.
This patch is contributed by Gabor Greif, thanks!
llvm-svn: 20597
|
|
|
|
| |
llvm-svn: 19389
|
|
|
|
| |
llvm-svn: 17056
|
|
|
|
|
|
| |
Patch contributed by Paolo Invernizzi. Thanks Paolo!
llvm-svn: 16368
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 14848
|
|
|
|
| |
llvm-svn: 14847
|
|
|
|
| |
llvm-svn: 14266
|
|
|
|
| |
llvm-svn: 14201
|
|
|
|
|
|
|
|
| |
because 1) the first instruction might not be a call site, and
2) CS and SF.Caller were not getting set to point to the new call site
anyway (resulting in a crash on e.g. call %llvm.memset).
llvm-svn: 13122
|
|
|
|
| |
llvm-svn: 13076
|
|
|
|
|
|
| |
Intrinsic::va*. This avoid conflicting with macros in the stdlib.h file.
llvm-svn: 12356
|
|
|
|
|
|
|
|
|
| |
pair, and look up varargs in the execution stack every time, instead of
just pushing iterators (which can be invalidated during callFunction())
around. (union GenericValue now has a "pair of uints" member, to support
this mechanism.) Fixes Bug 234.
llvm-svn: 11845
|
|
|
|
| |
llvm-svn: 11367
|
|
|
|
|
|
| |
'unwind' dest
llvm-svn: 11202
|
|
|
|
|
|
|
|
|
| |
because that makes it abort. Also, fix a typo in a comment.
This checkin brought to you by the "It only takes about 30 seconds to run
ENABLE_LLI tests on Shootout on zion, even if they all dump core" fund.
llvm-svn: 10844
|
|
|
|
|
|
| |
implementation from the TargetMachine directly.
llvm-svn: 10636
|
|
|
|
|
|
| |
Reimplement the Interpreters implementation of va_* to be more direct.
llvm-svn: 10627
|
|
|
|
|
|
|
| |
index by using I.getOperand() here. This was failing an assertion on
basically every struct access.
llvm-svn: 10426
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 10389
|
|
|
|
| |
llvm-svn: 10224
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 9903
|
|
|
|
|
|
| |
still causes a crash. But it's better than before.
llvm-svn: 9794
|
|
|
|
|
|
|
|
| |
destination, if returning from an invoke.
Implement 'unwind' instruction.
llvm-svn: 9792
|
|
|
|
| |
llvm-svn: 9789
|
|
|
|
|
|
| |
Use visitCallSite to implement both CallInsts and InvokeInsts.
llvm-svn: 9788
|
|
|
|
| |
llvm-svn: 9787
|
|
|
|
| |
llvm-svn: 9784
|
|
|
|
|
|
| |
Make external function calls slightly less special; now they get a stack frame.
llvm-svn: 9765
|
|
|
|
| |
llvm-svn: 9726
|
|
|
|
| |
llvm-svn: 9713
|
|
|
|
| |
llvm-svn: 9712
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 9489
|
|
|
|
|
|
| |
Header files will be on the way.
llvm-svn: 9298
|
|
|
|
| |
llvm-svn: 9222
|
|
|
|
| |
llvm-svn: 9021
|