From a3b786a8c1ce5e1ed1f5a30f5482d3eb247bbf8b Mon Sep 17 00:00:00 2001 From: Justin Lebar Date: Thu, 14 Jul 2016 17:07:44 +0000 Subject: [CodeGen] Refactor MachineMemOperand's Flags enum. Summary: - Give it a shorter name (because we're going to refer to it often from SelectionDAG and friends). - Split the flags and alignment into separate variables. - Specialize FlagsEnumTraits for it, so we can do bitwise ops on it without losing type information. - Make some enum values constants in MachineMemOperand instead. MOMaxBits should not be a valid Flag. - Simplify some of the bitwise ops for dealing with Flags. Reviewers: chandlerc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D22281 llvm-svn: 275438 --- llvm/lib/CodeGen/MachineFunction.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'llvm/lib/CodeGen/MachineFunction.cpp') diff --git a/llvm/lib/CodeGen/MachineFunction.cpp b/llvm/lib/CodeGen/MachineFunction.cpp index a47db2e2684..6e4de49d0c1 100644 --- a/llvm/lib/CodeGen/MachineFunction.cpp +++ b/llvm/lib/CodeGen/MachineFunction.cpp @@ -299,8 +299,11 @@ MachineFunction::getMachineMemOperand(MachinePointerInfo PtrInfo, unsigned f, uint64_t s, unsigned base_alignment, const AAMDNodes &AAInfo, const MDNode *Ranges) { - return new (Allocator) MachineMemOperand(PtrInfo, f, s, base_alignment, - AAInfo, Ranges); + // FIXME: Get rid of this static_cast and make getMachineOperand take a + // MachineMemOperand::Flags param. + return new (Allocator) + MachineMemOperand(PtrInfo, static_cast(f), s, + base_alignment, AAInfo, Ranges); } MachineMemOperand * -- cgit v1.2.3