Преглед изворни кода

* implemented a_load_undefined_cgpara for LLVM, fixes LLVM code generator
after the changes to optimize unused parentfp parameters

git-svn-id: trunk@45456 -

Jonas Maebe пре 5 година
родитељ
комит
4caa471a24
1 измењених фајлова са 11 додато и 0 уклоњено
  1. 11 0
      compiler/llvm/hlcgllvm.pas

+ 11 - 0
compiler/llvm/hlcgllvm.pas

@@ -41,6 +41,7 @@ uses
 
       procedure a_load_reg_cgpara(list: TAsmList; size: tdef; r: tregister; const cgpara: TCGPara); override;
       procedure a_load_ref_cgpara(list: TAsmList; size: tdef; const r: treference; const cgpara: TCGPara); override;
+      procedure a_load_undefined_cgpara(list: TAsmList; size: tdef; const cgpara: TCGPara); override;
       procedure a_load_const_cgpara(list: TAsmList; tosize: tdef; a: tcgint; const cgpara: TCGPara); override;
      protected
        procedure a_load_ref_cgpara_init_src(list: TAsmList; const para: tcgpara; const initialref: treference; var refsize: tdef; out newref: treference);
@@ -308,6 +309,16 @@ implementation
     end;
 
 
+  procedure thlcgllvm.a_load_undefined_cgpara(list: TAsmList; size: tdef; const cgpara: TCGPara);
+    var
+      hreg: tregister;
+    begin
+      hreg:=getregisterfordef(list,size);
+      list.concat(taillvm.op_reg_size_undef(la_bitcast,hreg,size));
+      a_load_reg_cgpara(list,size,hreg,cgpara);
+    end;
+
+
   procedure thlcgllvm.a_load_const_cgpara(list: TAsmList; tosize: tdef; a: tcgint; const cgpara: TCGPara);
     begin
       if is_ordinal(cgpara.def) then