[dylan-lang/opendylan] 823ee0: [dfmc] Propagate not-inline to generated code.
GitHub <[email protected]>
| Newsgroups | gmane.comp.lang.dylan.gwydion.cvs |
|---|---|
| Message-ID | <552a67e5576fe_7c2d3fd97ad2d2bc13723@hookshot-fe2-cp1-prd.iad.github.net.mail> |
Branch: refs/heads/master
Home: https://github.com/dylan-lang/opendylan
Commit: 823ee0ee9e30011d3ef87cc737d0dfef7a238f84
https://github.com/dylan-lang/opendylan/commit/823ee0ee9e30011d3ef87cc737d0dfef7a238f84
Author: Bruce Mitchener <[email protected]>
Date: 2015-04-12 (Sun, 12 Apr 2015)
Changed paths:
M documentation/release-notes/source/2015.1.rst
M sources/dfmc/c-back-end/c-emit-object.dylan
M sources/dfmc/llvm-back-end/llvm-emit-code.dylan
M sources/lib/run-time/run-time.h
Log Message:
-----------
[dfmc] Propagate not-inline to generated code.
When a function is flagged as not-inline in Dylan, it is useful for
that information to be passed along to C and LLVM to prevent it from
being inlined during code generation.
This is particularly useful in tests where you want to prevent the
compiler from optimizing away the thing that you're testing.
* sources/dfmc/llvm-back-end/llvm-emit-code.dylan
(llvm-function-attributes): New.
(emit-code): Get function attributes and pass them along to the
<llvm-function>.
* sources/dfmc/c-back-end/c-emit-object.dylan
(emit-lambda-interface-using-function): Pass not-inline along to
the generated C function.
* sources/lib/run-time/run-time.h
(OPEN_DYLAN_NO_INLINE): New portability macro.
Commit: d3ffb97ac35cef6e5153439eeb858998ec9de758
https://github.com/dylan-lang/opendylan/commit/d3ffb97ac35cef6e5153439eeb858998ec9de758
Author: Bruce Mitchener <[email protected]>
Date: 2015-04-12 (Sun, 12 Apr 2015)
Changed paths:
M sources/common-dylan/tests/classes.dylan
Log Message:
-----------
[common-dylan,tests] Improve fp exception test reliability.
By using not-inline functions, we can be more sure that the compiler
(either Dylan or the underlying LLVM or C compilers) won't optimize
away key parts of these tests.
* sources/common-dylan/tests/classes.dylan
(class-test <division-by-zero-error>
class-test <arithmetic-overflow-error>
class-test <arithmetic-underflow-error>):
Extract key parts of the tests into not-inline functions.
Commit: 7c8acc8347369d4336152e2640c407ea1e03b145
https://github.com/dylan-lang/opendylan/commit/7c8acc8347369d4336152e2640c407ea1e03b145
Author: Peter S. Housel <[email protected]>
Date: 2015-04-12 (Sun, 12 Apr 2015)
Changed paths:
M documentation/release-notes/source/2015.1.rst
M sources/common-dylan/tests/classes.dylan
M sources/dfmc/c-back-end/c-emit-object.dylan
M sources/dfmc/llvm-back-end/llvm-emit-code.dylan
M sources/lib/run-time/run-time.h
Log Message:
-----------
Merge pull request #879 from waywardmonkeys/propagate-not-inline-to-generated-code
Propagate not-inline to generated code
Compare: https://github.com/dylan-lang/opendylan/compare/4d5402c903ce...7c8acc834736
_______________________________________________
chatter mailing list
[email protected]
https://lists.opendylan.org/mailman/listinfo/chatter