Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upCompatibility fixes for LLVM 3.5 #21588
Conversation
rust-highfive
assigned
brson
Jan 24, 2015
This comment has been minimized.
This comment has been minimized.
|
r? @brson (rust_highfive has picked a reviewer for you, use r? to override) |
huonw
reviewed
Jan 24, 2015
| compatible_ifn!("llvm.copysign.f64", copysign(t_f64, t_f64) -> t_f64, 4); | ||
| compatible_ifn!("llvm.round.f32", roundf(t_f32) -> t_f32, 4); | ||
| compatible_ifn!("llvm.round.f64", round(t_f64) -> t_f64, 4); | ||
| compatible_ifn!("llvm.assume", fn(i1) -> void, 6); |
This comment has been minimized.
This comment has been minimized.
huonw
Jan 24, 2015
Member
I suspect this isn't quite right, unfortunately; it seems like it might be declaring a substitute C function with signature void fn(i1). (I.e. the compatible_ifn! macro has a different syntax.)
This comment has been minimized.
This comment has been minimized.
lucab
Jan 24, 2015
Author
Contributor
Ah, ouch sorry. I didn't notice the difference in what the two macros expect as the second parameter.
lucab
force-pushed the
lucab:lucab/stable-llvm-compat
branch
from
260a406
to
f85e825
Jan 24, 2015
This comment has been minimized.
This comment has been minimized.
|
In turn, this seems to trigger an assertion in I was inclined to blame myself for something I've forgotten to touch, but it looks like the same ICE already surfaced before in #2235, so I am a bit unsure... |
This comment has been minimized.
This comment has been minimized.
|
Hm well the ICE may be related to some odd LLVM different, but we can probably diagnose after this lands, this is definitely good to land for now. Thanks! |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Ok, I'll open a separate ticket for the ICE then, thanks. |
lucab
referenced this pull request
Jan 25, 2015
Closed
ICE compiling stage2 libcore, when building with LLVM-3.5 #21620
lucab
added some commits
Jan 24, 2015
lucab
force-pushed the
lucab:lucab/stable-llvm-compat
branch
from
f85e825
to
18f8d35
Jan 26, 2015
This comment has been minimized.
This comment has been minimized.
|
Mmmh, however I just realized that my fix was incomplete/incorrect as I was mapping "llvm.assume" to a non-existing "void assume(bool)" C function. Rebased a commit to introduce a stub function. However, in the ligth of #21620, I wonder if merging this PR makes sense anymore. |
This comment has been minimized.
This comment has been minimized.
|
Hm we'd probably prefer to lower it to a noop instead of a call to an actual function (as that may end up hindering optimizations). You've got a good point about #21620 though, so I think for now we can just close in favor of that. Thanks for investigating though! |
lucab commentedJan 24, 2015
This fixes building with a system-installed LLVM 3.5 and also closes #20010