This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Since fold_builtins could create arbitrary GIMPLE and add extra loads which we did not know the aliasing info for before, we have to run a may_alias pass after running pass_fold_builtins. I added a FIXME as requested by Diego when he approved my patch in the PR.
Thanks, Andrew Pinski
* tree-optimize.c (init_tree_optimization_passes): Add a may_alias pass right after fold builtins.
Testcase:
#include <stdbool.h>
#include <stdlib.h>
int strcmp (const char*, const char*);
char s[2048] = "a";
inline bool foo(const char *str) {
return !strcmp(s,str);
}
int main() {
int i = 0;
while(!(foo(""))) {
i ++;
s[0] = '\0';
if (i>2)
abort ();
}
return 0;
}Attachment:
fixPR18298.diff.txt
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |