[LLVMbugs] [Bug 511] NEW: C backend does not respect 'volatile'

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Mon Feb 14 08:50:29 PST 2005


http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=511

           Summary: C backend does not respect 'volatile'
           Product: libraries
           Version: 1.0
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: C backend
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: sabre at nondot.org


Consider this testcase:

void %test(int* %P) {
        %X = volatile load int*%P
        volatile store int %X, int* %P
        ret void
}

The CBE currently emits:

void test(int *l1_P) {
  int l2_X;
  l2_X = *l1_P;
  *l1_P = l2_X;
  return;
}

... which GCC correctly optimizes to:

test:
        ret

The C Backend should emit volatile pointer qualifiers to get the right thing to
happen.



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




More information about the llvm-bugs mailing list