compiler-optimization 相关问题

编译器优化涉及调整编译器以减少运行时或对象大小或两者。这可以使用编译器参数(即CFLAGS,LDFLAGS),编译器插件(例如DEHYDRA)或对编译器的直接修改(例如修改源代码)来实现。

Rust是否允许优化器更改程序的结果?

[在某些语言中,允许通过优化来更改程序执行结果。例如,C ++ 11具有“ copy-elision”的概念,该概念允许优化程序忽略副本构造函数(和...

回答 1 投票 0

Rust是否允许优化器更改程序结果?

[在某些语言中,允许通过优化来更改程序执行结果。例如,C ++ 11具有“复制删除”的概念,该概念允许优化程序忽略复制构造函数(及其副作用)...

回答 1 投票 0

为什么编译器不能优化浮点加0?

我有四个标识函数,它们基本上什么也不做。只能通过clang优化单个ret语句来实现与1的乘法。 float id0(float x){return x +1-1; } float id1(...

回答 1 投票 0

如何在LLVM模块中调整功能位置

我知道如何从LLVM位码图像中解析模块,以及如何遍历函数定义。现在,我想对功能进行重新排序,以改善某些功能之间的局部性...

回答 1 投票 0

使用此指针会在热循环中引起奇怪的反优化

我最近遇到了一个奇怪的取消优化(或者说错过了优化机会)。考虑使用此函数可以有效地将3位整数的数组拆包为8位整数。打开包装...

回答 3 投票 121

[c ++使用-xipo -xO4构建时发生崩溃

[能否请您协助调查我的案子并给我您的建议?我在UNIX上编写了一个简单的c ++代码。如果我使用优化编译代码,则它在_Unwind_Resume崩溃。它运行...

回答 1 投票 2

使用constexpr + auto作为返回值和参数类型的怪异类型推导

我一直在使用编译器优化和编译器资源管理器,并且注意到g ++ 9.3中的以下缺陷(在本地测试)。这个问题似乎在g ++ 10.1中仍然存在(在编译器上测试过...

回答 1 投票 0

[C ++移位,方向相同,常数不变,结果略有不同,但代码更改有所不同[重复]

我有一个模板函数模板 uint8_t Foo();在Foo中,我做类似const uint8_t OFFSET_CONSTANT = ...

回答 1 投票 0

避免在bzhi(y,tzcnt(x))中使用不必要的mov ecx,ecx指令

我有一个位位置(永远不会为零),通过使用tzcnt计算得出,我想从该位置开始将高位归零。这是C ++和反汇编中的代码(我正在使用MSVC):自动位置= ...

回答 1 投票 3

未使用的未使用的C ++静态成员函数/变量未优化

我已启用编译器和链接器优化,以期从我的ARM32可执行文件中删除所有未使用的代码/数据。从我的地图文件中,我可以看到未使用的代码部分确实是...

回答 1 投票 0

积极的F#编译器优化是否仅在引用的依赖项+版本配置上发生?

前几天我在F#(+ .NET Core 3.1)中遇到了一个关于let绑定初始化(变量)的事情,这并不总是会发生一些事情,这取决于......>

回答 1 投票 3

我如何通过GCC编译器优化创建静态库?

我有一个函数来计算C ++中的点积。我想使用-O3编译器优化来编译此函数。我的代码库中的其余代码都是使用-O0编译的。为此,我创建了一个...

回答 1 投票 -1

*。cpp文件中实现的c ++函数/方法从不进行内联扩展吗?

[已经有很多关于c ++中“内联”的很好的解释,例如this和this。但是通常,大多数人都在谈论“即使具有内联前缀的func可能会扩展也可能不会扩展”,.. 。

回答 1 投票 0

/ 与 / ]

编译以下代码时:int f(int i1,int i2){long l1 = i1;长l2 = i2;返回l1 * l2; }在x86-64上使用clang 10.1,在-O3下,我得到mov eax,edi imul eax,...

回答 1 投票 2

同时使用__attribute__((pure))和静态内联有任何好处吗?

我正在优化c程序,我想知道在同一函数声明中同时使用__attribute__((pure))和static inline是否有意义?

回答 1 投票 0

-O3与-Ofast优化之间的gcc差异

我只是阅读gcc手册,以了解-O3和-Ofast之间的区别。对于-O3 -O3还有更多优化。 -O3打开-O2指定的所有优化,也打开...

回答 1 投票 0

Apple clang -O1优化不够?

我在C中有此代码:int main(void){int a = 1 + 2;返回0; }当我在GCC 9.3.0_1中用-O0标志编译objdump -x86-asm-syntax = intel -d a.out时,得到:0000000100000f9e ...

回答 1 投票 0

升级后内环性能下降的原因是什么?

我有一个手推矩阵算法,该算法找到方阵右下方的最大数目(因此,迭代时,某些部分被“跳过”了)-存储为密集矩阵。之后...

回答 1 投票 14


诸如C#,Go,Rust,Scala之类的编程语言会被重写为自身,这是否会使它们变得太慢?

我正在为动态语言编写解释器,只是为了好玩。我有时会看看其他编译器中如何实现某些功能。虽然Rust或Haskell并不是很糟糕...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.