llvm-translation-backend

View source
llvm-translation-backend
Author Commit Message Labels Comments Date
754 commits behind default.
Manuel Jacob avatarManuel Jacob
Don't try to parse LLVM datalayout.
Manuel Jacob avatarManuel Jacob
Rename type_ -> type.
Manuel Jacob avatarManuel Jacob
Fix import of lltype_to_annotation.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Instead of setting the translation backend to llvm by default, set it only in translate.py.
Manuel Jacob avatarManuel Jacob
Support lshift and rshift operations where the RHS has another type than the LHS.
Manuel Jacob avatarManuel Jacob
Rename simple_op to binary_op.
Manuel Jacob avatarManuel Jacob
Move function around.
Manuel Jacob avatarManuel Jacob
Make sure pypy_debug_catch_fatal_exception is defined before its use.
Manuel Jacob avatarManuel Jacob
Add stub for debug_forked(). Where do all these new operations come from?
Manuel Jacob avatarManuel Jacob
Add debug_offset() and debug_flush() stubs to the LLVM translation backend.
Manuel Jacob avatarManuel Jacob
Instead of setting the LLVM translation backend by default, set it after the construction of the config object. This makes sure raisingop2direct_call is forced.
Manuel Jacob avatarManuel Jacob
Add llvm_* operations to llinterp.
Manuel Jacob avatarManuel Jacob
Remove some tab character probably copied from somewhere by accident.
Manuel Jacob avatarManuel Jacob
Set default translation backend to llvm to make the buildbot translate with it.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Remove modifications in multibytecodec.c/h - the compiler warning was silenced on default in another way.
Manuel Jacob avatarManuel Jacob
Remove this because it probably prevents the JIT from emitting efficient code for longlong on 32-bit. This breaks LLVM translation on 32-bit.
Manuel Jacob avatarManuel Jacob
Remove dead code.
Manuel Jacob avatarManuel Jacob
Remove hacks formerly required to run RTyper tests on top of GenLLVM.
Manuel Jacob avatarManuel Jacob
Don't run RTyper tests on top of GenLLVM. GenC doesn't, neither. They are too high-level and required some hacks to be runnable on GenLLVM. These hacks will be removed in the next commit.
Manuel Jacob avatarManuel Jacob
Adapt TestTypedOptimizedSwitchTestCaseLLVM.
Manuel Jacob avatarManuel Jacob
Kill dead import.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Simplify this and make sure it doesn't modify the argument.
Manuel Jacob avatarManuel Jacob
Remove this hack until something better comes into my mind.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Remove more trailing whitespace.
Manuel Jacob avatarManuel Jacob
Remove trailing whitespace.
Manuel Jacob avatarManuel Jacob
I don't think this is still necessary.
Manuel Jacob avatarManuel Jacob
Instead of marking every llexternal that calls a macro with a macro flag, we generate call wrappers for external functions by default. A call wrapper is a short C snippet that just calls the external function. This way we work on the API level instead of the ABI level, because the C compiler generates the actual code to call the external function. These functions are inlined because we use link-time optimization. One problem is currently that the call wrappers are not stripped from the binary.
Manuel Jacob avatarManuel Jacob
Kill __init__ of test mixin class because it's not supported by pytest and a very bad idea anyway.
Manuel Jacob avatarManuel Jacob
Remove commented out lines.
Manuel Jacob avatarManuel Jacob
Add const qualifiers here.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Fix datalayout fishing.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
The operation bare_raw_store() should emit the same code as raw_store().
Manuel Jacob avatarManuel Jacob
Adapt imports / test class names.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Ignore jit_conditional_call() operation.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Back out changeset 728c960f3c4b. This needs to be fixed in LLVM.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
This little change greatly helps LLVM and doesn't change performance on C.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Fix ropenssl again.
Manuel Jacob avatarManuel Jacob
Refactor GenLLVM's _compile() and add comments to highlight the different steps.
Manuel Jacob avatarManuel Jacob
Ignore jit_ffi_save_result() operation.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Don't set config.translation.simplifying - it was removed in default.
Manuel Jacob avatarManuel Jacob
hg merge default - reverting this branch's changes in rpython/rlib/ropenssl.py.
Manuel Jacob avatarManuel Jacob
Work around rpython_startup_code issue.
Manuel Jacob avatarManuel Jacob
Skip test_longfloat because there seems to be a problem with ctypes.
Manuel Jacob avatarManuel Jacob
Remove test for test_rgeneric which was removed in the default branch.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Silence pyflakes warnings that database/align were undefined.
Manuel Jacob avatarManuel Jacob
Adapt includes to work with LLVM SVN.
Manuel Jacob avatarManuel Jacob
Add a LLVM GC root finder which uses llvm's support for accurate garbage collection. The current implementation is inefficient but correct (it doesn't keep gc pointers alive longer than necessary).
Manuel Jacob avatarManuel Jacob
Explicitly call gc setup function instead of defining it as a module constructor.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Adapt llvm translation backend to rpython.rtyper.memory -> rpython.memory rename.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Use finish tables in GCPolicy.finish().
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Fix casting of LongFloat to Bool.
Manuel Jacob avatarManuel Jacob
Fix one more import (pypy -> rpython renaming).
Manuel Jacob avatarManuel Jacob
Add support for LongFloat in the exception transformer.
Manuel Jacob avatarManuel Jacob
Change order arguments are passed to linker.
Manuel Jacob avatarManuel Jacob
Fix linking of static libraries.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Don't skip backend optimizations.
Manuel Jacob avatarManuel Jacob
Port test_recursive_llhelper from test_genc.
Manuel Jacob avatarManuel Jacob
Fix test_rstr/test_runicode by a hack.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Add support for win32 calling convention.
Manuel Jacob avatarManuel Jacob
Refactor declarations of backend-specific external functions.
Manuel Jacob avatarManuel Jacob
Use link-time optimization.
Manuel Jacob avatarManuel Jacob
Limit line length to 79 columns.
Manuel Jacob avatarManuel Jacob
Fix pypy translation.
Manuel Jacob avatarManuel Jacob
Use os.devnull instead of '/dev/null'.
Manuel Jacob avatarManuel Jacob
Forgot adding (stub) common_header.h.
Manuel Jacob avatarManuel Jacob
Fix compilation after merging default.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Add macro flag for pypy__is_nonnull_longdouble().
Manuel Jacob avatarManuel Jacob
Add more int128 operations.
Manuel Jacob avatarManuel Jacob
Implement the gc_gcflag_extra() operation.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Fix and refactor translation of tests.
Manuel Jacob avatarManuel Jacob
Modify GenC tests to use expected_exception_name.
Manuel Jacob avatarManuel Jacob
Fix LLVM translation backend after merging default into branch (not all tests pass yet).
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Fix mangling of names which have to be escaped and aren't unique.
Manuel Jacob avatarManuel Jacob
Implement ll_read_timestamp() operation.
Manuel Jacob avatarManuel Jacob
Use simpler code to determine which link is for which exit case (boolean).
Manuel Jacob avatarManuel Jacob
Make signed overflow for add/sub/mul undefined.
Manuel Jacob avatarManuel Jacob
Use inbounds getelementptr when possible.
Manuel Jacob avatarManuel Jacob
Use llvm overflow intrinsics for the int_{add,add_nonneg,sub,mul}_ovf operations and use temporary hack to disable them in raisingops.py.
Manuel Jacob avatarManuel Jacob
Change LLVM backend to reflect the changes to the raw_load/raw_store operations merged in from default.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Give globals internal linkage if not exported.
Manuel Jacob avatarManuel Jacob
Make `LLVMSigned.repr_type()` a constant.
Manuel Jacob avatarManuel Jacob
Skip two tests that can't pass on the LLVM backend.
Manuel Jacob avatarManuel Jacob
Disable an assertion in an rpython test that doesn't hold anymore.
Manuel Jacob avatarManuel Jacob
Fix translation on 32-bit linux.
Manuel Jacob avatarManuel Jacob
Clear EXPORTS_obj2name after generating the source.
Manuel Jacob avatarManuel Jacob
Fix translation of cpyext.
Manuel Jacob avatarManuel Jacob
Test and fix exported structs which derive from rffi.cast().
Manuel Jacob avatarManuel Jacob
Don't compile but just generate source in test_entrypoints().
Manuel Jacob avatarManuel Jacob
Test and implement backend support for pypy.rlib.exports.export_struct().
Manuel Jacob avatarManuel Jacob
Don't special case main but use the c_name attribute.
Manuel Jacob avatarManuel Jacob
Add support for secondary entrypoints.
Manuel Jacob avatarManuel Jacob
Move more code around.
Manuel Jacob avatarManuel Jacob
Move code around.
Manuel Jacob avatarManuel Jacob
Apply SSI_to_SSA() optimization. Remove var_aliases.
Manuel Jacob avatarManuel Jacob
Refactor Database.get_type() to reduce the long if-elif-else chain.
Manuel Jacob avatarManuel Jacob
Remove support for union structs. They seem to be used nowhere.
Manuel Jacob avatarManuel Jacob
Add support for lltype.Typedef.
Manuel Jacob avatarManuel Jacob
Give functions internal linkage if possible.
Manuel Jacob avatarManuel Jacob
Allow casting floats to bools.
Manuel Jacob avatarManuel Jacob
Inline helpers.
Manuel Jacob avatarManuel Jacob
Fix casting integers to bools (fixing test_bool_2).
Manuel Jacob avatarManuel Jacob
Fix warnings from pyflakes.
Manuel Jacob avatarManuel Jacob
Add test and fix for llgroups which get members added after being passed to _consider_constant().
Manuel Jacob avatarManuel Jacob
Set recursionlimit to 10000.
Manuel Jacob avatarManuel Jacob
Another stub for the ll_read_timestamp() operation.
Manuel Jacob avatarManuel Jacob
Ignore PYPY_NO_OP.
Manuel Jacob avatarManuel Jacob
Hack to support curses.
Manuel Jacob avatarManuel Jacob
malloc_varsize_clear() takes an extracted type id.
Manuel Jacob avatarManuel Jacob
Add missing macro flags.
Manuel Jacob avatarManuel Jacob
Remove links to startblock.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Ignore debug_print_traceback() operation.
Manuel Jacob avatarManuel Jacob
Implement is_group_member_nonzero() operation.
Manuel Jacob avatarManuel Jacob
Implement llmemory.AddressAsInt.
Manuel Jacob avatarManuel Jacob
Fix ropenssl for LLVM.
Manuel Jacob avatarManuel Jacob
Support passing structs by value to external functions.
Manuel Jacob avatarManuel Jacob
Workaround for external functions which are defined multiple with different signatures.
Manuel Jacob avatarManuel Jacob
Fix float_neg() operation.
Manuel Jacob avatarManuel Jacob
Change the semantics of llexternal's llvm_wrapper parameter and document.
Manuel Jacob avatarManuel Jacob
Change the semantics of llexternal's macro parameter and document.
Manuel Jacob avatarManuel Jacob
Fix test_ll2ctypes. It was broken because of changeset 3b1fbf33191d.
Manuel Jacob avatarManuel Jacob
Ignore some jit_*() operations.
Manuel Jacob avatarManuel Jacob
Remove unnecessary finally block.
Manuel Jacob avatarManuel Jacob
Adapt tests from pypy.rlib.test.test_longlong2float and implement the necessary operations.
Manuel Jacob avatarManuel Jacob
Be more robust when joining arguments passed to clang.
Manuel Jacob avatarManuel Jacob
Surround identifiers containing particular characters with quotes instead of replacing them with underscores.
Manuel Jacob avatarManuel Jacob
Add test and fix for function pointers with void args.
Manuel Jacob avatarManuel Jacob
Avoid pointer-sign warning.
Manuel Jacob avatarManuel Jacob
Fix TestRweakrefLLVM.
Manuel Jacob avatarManuel Jacob
Add missing macro flags for os.{makedev,major,minor}.
Manuel Jacob avatarManuel Jacob
Add test and fix for prebuilt ErasingPairs.
Manuel Jacob avatarManuel Jacob
Fix TestLowLevelTypeLLVM.test_prebuilt_ll2ctypes_array.
Manuel Jacob avatarManuel Jacob
Refactor the usage of OpaqueType.
Manuel Jacob avatarManuel Jacob
Remove 'struct.' prefix.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Call abort() on fatal error.
Manuel Jacob avatarManuel Jacob
Add refcount gc.
Manuel Jacob avatarManuel Jacob
Fix TestRPBCLLVM.
Manuel Jacob avatarManuel Jacob
Fix TestRfloatLLVM.
Manuel Jacob avatarManuel Jacob
Not all same_as() operations were removed.
Manuel Jacob avatarManuel Jacob
Some rather cosmetic changes.
Manuel Jacob avatarManuel Jacob
Fix TestRlistLLVM.
Manuel Jacob avatarManuel Jacob
Make sure that two sequential empty globals dont't have the same address.
Manuel Jacob avatarManuel Jacob
Force remove_same_as() optimization.
Manuel Jacob avatarManuel Jacob
Oops. #3
Manuel Jacob avatarManuel Jacob
Oops. #2
Manuel Jacob avatarManuel Jacob
Oops.
Manuel Jacob avatarManuel Jacob
Add gc header also for arrays in ll2ctypes.
Manuel Jacob avatarManuel Jacob
Fix representation of recursive types.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
_gc_header is ctypes.c_long, not ctypes.c_int.
Manuel Jacob avatarManuel Jacob
Fix TestLLVMRffi.
Manuel Jacob avatarManuel Jacob
Fix TestRbuiltinLLVM.
Manuel Jacob avatarManuel Jacob
Not running on LLInterpreter.
Manuel Jacob avatarManuel Jacob
Support 'policy' argument for interpret() and skip when the 'someobjects' argument is set.
Manuel Jacob avatarManuel Jacob
Set translation.gcremovetypeptr False for all rpython tests.
Manuel Jacob avatarManuel Jacob
Use lltype.typeOf() instead of type().
Manuel Jacob avatarManuel Jacob
Fix TestExceptionLLVM.
Manuel Jacob avatarManuel Jacob
Fix TestRvirtualizableLLVM.
Manuel Jacob avatarManuel Jacob
Use ll2ctypes in CTypesFuncWrapper.
Manuel Jacob avatarManuel Jacob
Adopt rpython tests for the LLVM backend.
Manuel Jacob avatarManuel Jacob
Add int_abs() operation.
Manuel Jacob avatarManuel Jacob
Also follow groups in _consider_constant().
Manuel Jacob avatarManuel Jacob
Also follow addresses in _consider_constant().
Manuel Jacob avatarManuel Jacob
Add support for empty structs.
Manuel Jacob avatarManuel Jacob
Add support for blocks that have two exits but a exitswitch whose type is not lltype.Bool.
Manuel Jacob avatarManuel Jacob
The type of compactoffset is a halfword on 64-bit.
Manuel Jacob avatarManuel Jacob
Add support for blocks with more than 2 exits (switch instruction).
Manuel Jacob avatarManuel Jacob
Remove temporary fix and do it right.
Manuel Jacob avatarManuel Jacob
Enable minimark tests with tagged pointers as well.
Manuel Jacob avatarManuel Jacob
Oops. This little fix is still needed for TestMiniMarkGCLLVM to complete.
Manuel Jacob avatarManuel Jacob
Factor out all transformation steps into the prepare_llvm task. This makes all tests pass.
Manuel Jacob avatarManuel Jacob
Add additional task prepare_llvm which does exception and gc transformations.
Manuel Jacob avatarManuel Jacob
Remove RawGCPolicy and RawGCTransformer because they aren't of use anymore.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Remove PtrType.to because there is an instance attribute called 'to'.
Manuel Jacob avatarManuel Jacob
Fix stack overflow in _consider_constant.
Manuel Jacob avatarManuel Jacob
Fix the two remaining rffi tests.
Manuel Jacob avatarManuel Jacob
Add support for prebuilt hashs.
Manuel Jacob avatarManuel Jacob
Adopt test_newgc.TestMiniMarkGC.
Manuel Jacob avatarManuel Jacob
Modify options passed to clang.
Manuel Jacob avatarManuel Jacob
Remove CharType and refactor how IntegralTypes are built.
Manuel Jacob avatarManuel Jacob
Fix llarena.RoundedUpForAllocation.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Revert src/stack.{h,c} and do it right.
Manuel Jacob avatarManuel Jacob
Use lltype.functionptr to declare llvm intrinsics and malloc/free. Use obmalloc.
Manuel Jacob avatarManuel Jacob
LLVMShort is 2 byte long, not 4.
Manuel Jacob avatarManuel Jacob
Fix float representation.
Manuel Jacob avatarManuel Jacob
Use ROUND_UP_FOR_ALLOCATION from src/align.h.
Manuel Jacob avatarManuel Jacob
Add llvm_wrapper flag for pypy__rotateLeft. Now it is possible to translate targetsha1sum-llvm standalone.
Manuel Jacob avatarManuel Jacob
Fix GenC.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Fix the rffi tests for the LLVM backend.
Manuel Jacob avatarManuel Jacob
Adopt rffi tests for the LLVM backend.
Manuel Jacob avatarManuel Jacob
Add standalone support.
Manuel Jacob avatarManuel Jacob
Pass '/dev/null' to clang.
Manuel Jacob avatarManuel Jacob
un-skip two more tests
Manuel Jacob avatarManuel Jacob
fix failing tests by a hack
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Fixes.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Enable minimark gc for TestLowLevelTypeLLVM and TestTypedLLVM.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Remove unnecessary same_as operations and phi nodes.
Manuel Jacob avatarManuel Jacob
Adopt test_typed.TestTypedTestCase.
Manuel Jacob avatarManuel Jacob
Enable tests which involve modules returning types other than int.
Manuel Jacob avatarManuel Jacob
hg merge default
Manuel Jacob avatarManuel Jacob
Get test_lltyped.TestLowLevelType to work.
Manuel Jacob avatarManuel Jacob
Improve LLVM assembly output and add tests for it.
Manuel Jacob avatarManuel Jacob
Add test for remove_double_links().
Manuel Jacob avatarManuel Jacob
Fix typo.
Manuel Jacob avatarManuel Jacob
Add a new LLVM translation backend. So far it can translate some simple tests but when translated with garbarge collection the resulting binary segfaults.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.