1
Fork 0

Rollup merge of #135027 - Flakebi:remove-range-workaround, r=compiler-errors

Remove range-metadata amdgpu workaround

Range metadata was disabled for amdgpu due to a backend bug. I did not encounter any problems when removing the workaround to enable range metadata (tried compiling `core` and `alloc`), so I assume this has been fixed in LLVM in the last years.

Remove the workaround to re-enable range metadata.

Tracking issue: #135024
This commit is contained in:
Matthias Krüger 2025-01-02 18:27:20 +01:00 committed by GitHub
commit e0cc6f15a2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -610,14 +610,6 @@ impl<'a, 'll, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
}
fn range_metadata(&mut self, load: &'ll Value, range: WrappingRange) {
if self.sess().target.arch == "amdgpu" {
// amdgpu/LLVM does something weird and thinks an i64 value is
// split into a v2i32, halving the bitwidth LLVM expects,
// tripping an assertion. So, for now, just disable this
// optimization.
return;
}
if self.cx.sess().opts.optimize == OptLevel::No {
// Don't emit metadata we're not going to use
return;