summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2012-10-13 21:56:05 +0000
committerNico Weber <nicolasweber@gmx.de>2012-10-13 21:56:05 +0000
commitcc51c2f2dcf91551707ce7b78cae9e93cd67cc6e (patch)
tree3d6f445ceee0a4c938e45c09e33e3c8f91ada91a /clang/lib/CodeGen/CodeGenModule.cpp
parent6758190507b1c6d24c122db9c7f345e1685176bb (diff)
downloadbcm5719-llvm-cc51c2f2dcf91551707ce7b78cae9e93cd67cc6e.tar.gz
bcm5719-llvm-cc51c2f2dcf91551707ce7b78cae9e93cd67cc6e.zip
Simplify. Suggestion by Sean Silva.
llvm-svn: 165885
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.cpp14
1 files changed, 3 insertions, 11 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index c799e4aaac9..0d70968b9de 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -2814,16 +2814,7 @@ llvm::Constant *CodeGenModule::EmitUuidofInitializer(StringRef Uuid,
llvm::APInt Field0(32, StringRef(Uuidstr , 8), 16);
llvm::APInt Field1(16, StringRef(Uuidstr + 9, 4), 16);
llvm::APInt Field2(16, StringRef(Uuidstr + 14, 4), 16);
- llvm::APInt Field3Values[] = {
- llvm::APInt(8, StringRef(Uuidstr + 19, 2), 16),
- llvm::APInt(8, StringRef(Uuidstr + 21, 2), 16),
- llvm::APInt(8, StringRef(Uuidstr + 24, 2), 16),
- llvm::APInt(8, StringRef(Uuidstr + 26, 2), 16),
- llvm::APInt(8, StringRef(Uuidstr + 28, 2), 16),
- llvm::APInt(8, StringRef(Uuidstr + 30, 2), 16),
- llvm::APInt(8, StringRef(Uuidstr + 32, 2), 16),
- llvm::APInt(8, StringRef(Uuidstr + 34, 2), 16),
- };
+ int Field3ValueOffsets[] = { 19, 21, 24, 26, 28, 30, 32, 34 };
APValue InitStruct(APValue::UninitStruct(), /*NumBases=*/0, /*NumFields=*/4);
InitStruct.getStructField(0) = APValue(llvm::APSInt(Field0));
@@ -2832,7 +2823,8 @@ llvm::Constant *CodeGenModule::EmitUuidofInitializer(StringRef Uuid,
APValue& Arr = InitStruct.getStructField(3);
Arr = APValue(APValue::UninitArray(), 8, 8);
for (int t = 0; t < 8; ++t)
- Arr.getArrayInitializedElt(t) = APValue(llvm::APSInt(Field3Values[t]));
+ Arr.getArrayInitializedElt(t) = APValue(llvm::APSInt(
+ llvm::APInt(8, StringRef(Uuidstr + Field3ValueOffsets[t], 2), 16)));
return EmitConstantValue(InitStruct, GuidType);
}
OpenPOWER on IntegriCloud