freenode/#clasp - IRC Chatlog
Search
19:41:06
drmeister
It appears that I have a case where the register-save-area is being optimized away.
19:46:05
drmeister
Ho boy - I found an llvm-dev discussion about preventing llvm from optimizing out variables. http://lists.llvm.org/pipermail/llvm-dev/2016-July/102322.html
2:40:02
drmeister
The backtraces look good - except there are an extra pair of parentheses around the specializers for methods.
2:58:35
drmeister
Once you get the temporaries out I'll be interested to see the impact on the amount of code.
4:17:43
drmeister
When compiling this... (defun foo (xxxx) (loop for iiii below xxxx)) . it generates 556 lines of llvm-ir
4:18:18
drmeister
At least 113 of them are in blocks containing float and double precision instructions.
4:25:18
drmeister
Huh - I just learned you can write the loop as: (loop for iiii fixnum below xxxx))
4:35:00
beach
I prefer using of-type explicitly because it is more, er, explicit, and it works for any type.
4:36:43
beach
Speaking of which, at some point I would like to take advantage of the fact that it is highly unlikely that there will be more than a fixnum number of iterations in a loop.
5:04:07
drmeister
That really strikes me as perverse - it's the easiest thing to do in a C-like language.
5:34:11
drmeister
"Speaking of which, at some point I would like to take advantage of the fact that it is highly unlikely that there will be more than a fixnum number of iterations in a loop." "So if there are numeric loop variables, they are typically fixnums." "Not sure how to do it though."
5:36:51
drmeister
Why is it hard to take advantage that it is highly unlikely that there are more than fixnum number of iterations in a loop.
5:37:23
beach
Because you would have to have the compiler write two versions of the loop, and jump from one to the other in case something happens to become a bignum.
5:37:40
drmeister
Ok, I don't mean to be provocative - it just struck me what you said you didn't know how to do it. I don't see what's difficult about it if you know the bounds are fixnums.
5:39:17
beach
So I want to generate a correct loop, even if there is no FIXNUM declaration, but I still want to take advantage of the fact that it is highly unlikely that the loop will iterate more than a fixnum number of times.
5:41:01
beach
Let's drop it. I am not being clear, and it's too early in the morning for me to do better than that.
5:43:38
drmeister
No problem. I didn't mean to make a deal of it. I always assume that you know what you are talking about and that I don't quite understand - and by asking I might learn something.
5:45:52
beach
I tend to assume that everybody has a goal to make Common Lisp safe, and that is not the case. This goal complicates life for me, but it also makes for interesting research opportunities. Most people would just do the equivalent of what you suggested in C++ and not care if the loop variable overflows.
6:47:34
drmeister
But this... Democrat senate votes 40,858,132 votes (55.4%) . Republican senate votes 31,651,154 votes (42.9%) . Yet the Republicans currently have 51 seats and the Democrates 43. The senate is an extremely undemocratic institution.