<div dir="ltr"><div><div><div><div><div><div>Hello All,<br><br></div>    We want to write a transformation pass such that the array accesses use a base register other than ebp (assuming that the code is compiled for x86 architecture). For example,<br><br></div>The below C code<br></div>->int a[5];<br></div>->a[2] = 2<br><br></div>by default, gets compiled to something like this:<br></div><div>->mov    dword ptr [ebp - 28], eax<br><br></div><div>However, we want our pass to emit the something similar to the following instead:<br></div><div>->mov   ecx, "base of array"<br></div><div>->mov   dword ptr [ecx - "index from base of array a"], eax<br></div><div><div><div><div><div><div><br>Is there any way we could modify the llvm code so as to achieve the required instruction format? Please let us know if there is some code that already does this or if it is documented elsewhere. <br><br></div><div>Regards,<br></div><div>Gnanambikai<br></div></div></div></div></div></div></div>