[LLVMbugs] [Bug 1164] NEW: CBE can generate name conflicts

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sat Feb 3 15:33:39 PST 2007


           Summary: CBE can generate name conflicts
           Product: libraries
           Version: trunk
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Backend: C
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: sabre at nondot.org


@G = global i32 123
@ltmp_0_1 = global i32 123

define i32 @test(i32 *%G) {
        %A = load i32* %G
        %B = load i32* @ltmp_0_1
        %C = add i32 %A, %B
        ret i32 %C

The CBE generated code is:

unsigned int test(unsigned int *ltmp_0_1) {
  ltmp_1_2 = *ltmp_0_1;     // local
  ltmp_2_2 = *(&ltmp_0_1); // global
  return (ltmp_1_2 + ltmp_2_2);

This is a serious bug.

A not-as-serious bug: the CBE ignores the local names of symbols, turning %A into ltmp_1_2?


------- 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