| OLD | NEW |
| 1 //===---- TargetInfo.cpp - Encapsulate target details -----------*- C++ -*-===// | 1 //===---- TargetInfo.cpp - Encapsulate target details -----------*- C++ -*-===// |
| 2 // | 2 // |
| 3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 // | 9 // |
| 10 // These classes wrap the information about a call or function | 10 // These classes wrap the information about a call or function |
| (...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 441 | 441 |
| 442 void computeInfo(CGFunctionInfo &FI) const override; | 442 void computeInfo(CGFunctionInfo &FI) const override; |
| 443 llvm::Value *EmitVAArg(llvm::Value *VAListAddr, QualType Ty, | 443 llvm::Value *EmitVAArg(llvm::Value *VAListAddr, QualType Ty, |
| 444 CodeGenFunction &CGF) const override; | 444 CodeGenFunction &CGF) const override; |
| 445 }; | 445 }; |
| 446 | 446 |
| 447 class PNaClTargetCodeGenInfo : public TargetCodeGenInfo { | 447 class PNaClTargetCodeGenInfo : public TargetCodeGenInfo { |
| 448 public: | 448 public: |
| 449 PNaClTargetCodeGenInfo(CodeGen::CodeGenTypes &CGT) | 449 PNaClTargetCodeGenInfo(CodeGen::CodeGenTypes &CGT) |
| 450 : TargetCodeGenInfo(new PNaClABIInfo(CGT)) {} | 450 : TargetCodeGenInfo(new PNaClABIInfo(CGT)) {} |
| 451 |
| 452 bool addAsmMemoryAroundSyncSynchronize() const { return true; } // @LOCALMOD |
| 453 bool asmMemoryIsFence() const { return true; } // @LOCALMOD |
| 451 }; | 454 }; |
| 452 | 455 |
| 453 void PNaClABIInfo::computeInfo(CGFunctionInfo &FI) const { | 456 void PNaClABIInfo::computeInfo(CGFunctionInfo &FI) const { |
| 454 if (!getCXXABI().classifyReturnType(FI)) | 457 if (!getCXXABI().classifyReturnType(FI)) |
| 455 FI.getReturnInfo() = classifyReturnType(FI.getReturnType()); | 458 FI.getReturnInfo() = classifyReturnType(FI.getReturnType()); |
| 456 | 459 |
| 457 for (auto &I : FI.arguments()) | 460 for (auto &I : FI.arguments()) |
| 458 I.info = classifyArgumentType(I.type); | 461 I.info = classifyArgumentType(I.type); |
| 459 } | 462 } |
| 460 | 463 |
| (...skipping 6678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7139 } | 7142 } |
| 7140 } | 7143 } |
| 7141 case llvm::Triple::hexagon: | 7144 case llvm::Triple::hexagon: |
| 7142 return *(TheTargetCodeGenInfo = new HexagonTargetCodeGenInfo(Types)); | 7145 return *(TheTargetCodeGenInfo = new HexagonTargetCodeGenInfo(Types)); |
| 7143 case llvm::Triple::sparcv9: | 7146 case llvm::Triple::sparcv9: |
| 7144 return *(TheTargetCodeGenInfo = new SparcV9TargetCodeGenInfo(Types)); | 7147 return *(TheTargetCodeGenInfo = new SparcV9TargetCodeGenInfo(Types)); |
| 7145 case llvm::Triple::xcore: | 7148 case llvm::Triple::xcore: |
| 7146 return *(TheTargetCodeGenInfo = new XCoreTargetCodeGenInfo(Types)); | 7149 return *(TheTargetCodeGenInfo = new XCoreTargetCodeGenInfo(Types)); |
| 7147 } | 7150 } |
| 7148 } | 7151 } |
| OLD | NEW |