Displaying 3 results from an estimated 3 matches for "ehci_pci_setup".
2007 Nov 13
0
[LLVMdev] BasicAliasAnalysis and out-of-bound GEP indices
...> *ehci_to_hcd (struct ehci_hcd *ehci)
> {
> return ({ const typeof( ((struct usb_hcd *)0)->hcd_priv ) *__mptr =
> ((void *) ehci); (struct usb_hcd *)( (char *)__mptr -
> __builtin_offsetof(struct usb_hcd,hcd_priv) );});
> }
>
> struct device *x;
>
> static int ehci_pci_setup(struct usb_hcd *hcd)
> {
> struct ehci_hcd *ehci = hcd_to_ehci(hcd);
> // [...]
> // store of expression added in order to prevent it from being DCE'ed
> x = ehci_to_hcd(ehci)->self.controller;
> // [...]
> }
> _______________________________________________
>...
2007 Nov 13
2
[LLVMdev] BasicAliasAnalysis and out-of-bound GEP indices
Hi!
While investigating into the PR1782 I spent some time analyzing
BasicAliasAnalysis.cpp. While the mentioned problem should be fixed now
(I hope), I have discovered some other possibilities for a bug to occur.
In the case of checking for aliasing of two pointer values, where at
least one of them is a GEP instruction with out-of-bound indices,
BasicAliasAnalysis can return NoAlias, even if the
2007 Nov 15
2
[LLVMdev] BasicAliasAnalysis and out-of-bound GEP indices
...> > {
> > return ({ const typeof( ((struct usb_hcd *)0)->hcd_priv ) *__mptr =
> > ((void *) ehci); (struct usb_hcd *)( (char *)__mptr -
> > __builtin_offsetof(struct usb_hcd,hcd_priv) );});
> > }
> >
> > struct device *x;
> >
> > static int ehci_pci_setup(struct usb_hcd *hcd)
> > {
> > struct ehci_hcd *ehci = hcd_to_ehci(hcd);
> > // [...]
> > // store of expression added in order to prevent it from being DCE'ed
> > x = ehci_to_hcd(ehci)->self.controller;
> > // [...]
> > }
> > ____________...