mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-14 14:24:05 +00:00
Added "Profile" method to APFloat for use with FoldingSet.
Added member template "Add" to FoldingSetNodeID that allows "adding" arbitrary objects to a profile via dispatch to FoldingSetTrait<T>::Profile(). Removed FoldingSetNodeID::AddAPFloat and FoldingSetNodeID::APInt, as their functionality is now replaced using the above mentioned member template. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46957 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -15,8 +15,6 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/ADT/FoldingSet.h"
|
||||
#include "llvm/ADT/APFloat.h"
|
||||
#include "llvm/ADT/APInt.h"
|
||||
#include "llvm/Support/MathExtras.h"
|
||||
#include <cassert>
|
||||
using namespace llvm;
|
||||
@ -58,15 +56,6 @@ void FoldingSetNodeID::AddFloat(float F) {
|
||||
void FoldingSetNodeID::AddDouble(double D) {
|
||||
AddInteger(DoubleToBits(D));
|
||||
}
|
||||
void FoldingSetNodeID::AddAPFloat(const APFloat& apf) {
|
||||
APInt api = apf.convertToAPInt();
|
||||
AddAPInt(api);
|
||||
}
|
||||
void FoldingSetNodeID::AddAPInt(const APInt& api) {
|
||||
const uint64_t *p = api.getRawData();
|
||||
for (unsigned i=0; i<api.getNumWords(); i++)
|
||||
AddInteger(*p++);
|
||||
}
|
||||
void FoldingSetNodeID::AddString(const std::string &String) {
|
||||
unsigned Size = String.size();
|
||||
Bits.push_back(Size);
|
||||
|
Reference in New Issue
Block a user