rgcpu.pas 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. {
  2. $Id$
  3. Copyright (c) 1998-2002 by Florian Klaempfl
  4. This unit implements the x86-64 specific class for the register
  5. allocator
  6. This program is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2 of the License, or
  9. (at your option) any later version.
  10. This program is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. GNU General Public License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with this program; if not, write to the Free Software
  16. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17. ****************************************************************************
  18. }
  19. unit rgcpu;
  20. {$i fpcdefs.inc}
  21. interface
  22. uses
  23. cgbase,rgx86;
  24. type
  25. trgcpu = class(trgx86)
  26. procedure add_constraints(reg:Tregister);
  27. end;
  28. implementation
  29. uses
  30. cpubase;
  31. procedure trgcpu.add_constraints(reg:Tregister);
  32. var
  33. supreg : tsuperregister;
  34. begin
  35. supreg:=getsupreg(reg);
  36. { All registers conflict with rsp/rbp }
  37. add_edge(supreg,RS_RSP);
  38. add_edge(supreg,RS_RBP);
  39. end;
  40. end.
  41. {
  42. $Log$
  43. Revision 1.11 2004-10-24 11:53:45 peter
  44. * fixed compilation with removed loadref
  45. Revision 1.10 2004/10/13 21:12:51 peter
  46. * -Or fixes for open array
  47. Revision 1.9 2004/06/20 08:55:32 florian
  48. * logs truncated
  49. Revision 1.8 2004/02/05 01:24:08 florian
  50. * several fixes to compile x86-64 system
  51. }